はじめに
前回はAIの概要を教えてもらいました!
アッポーペンを叩き込むには、自分も頑張らなきゃいけないってことでした。
ポイントをしっかり理解してるみたいだね!
今回は画像認識AIでよく使われている畳み込みニューラルネットワークについて説明するよ!
畳み込み?ニューラルネットワーク?
聞いたことのない用語ばかりで難しそうですが、頑張ってついていきます!
「畳み込み」は過去にもブログで説明しているから、あわせて確認していきましょう!
ニューラルネットワークとは
ニューラルネットワークとは、人の脳神経細胞であるニューロンを模してつなぎ合わせた人工的な脳神経回路ネットワークのことです。
深層学習では、層をより深く積み重ねたディープニューラルネットワーク(DNN)を使って学習や推論を行います。
ニューラルネットワークによる学習では順伝搬と逆伝搬を行います。
順伝搬では入力側から出力側へと重みをかけた情報を伝搬し入出力の誤差を求め、逆伝搬では出力側から入力側へと誤差を伝搬し誤差が小さくなる重みを求めます。
これを何度も繰り返して、最終的に入力と出力との誤差が小さくなるような重みデータを求めていきます。
次に、ニューラルネットワークの一部分を抜き出して計算例を見てみましょう。
例えば、ニューロンCに情報を伝える場合、ニューロンAの出力値と重みデータ、ニューロンBの出力値と重みデータを計算します。
情報を受け取ったニューロンCは、次のニューロンにどのように情報を伝えるかを特殊なしきい値処理で制御します。
畳み込みニューラルネットワーク
畳み込みとは、前の記事(画像のフィルタ処理)で紹介したカーネル係数と画像との掛け算のことで、コンボリューションとも呼ばれています。
この畳み込み処理とDNNを掛け合わせた派生形が「畳み込みニューラルネットワーク(CNN)」です。
CNNでは重みを使った畳み込み処理とプーリング処理を繰り返し行います。
プーリングとは次に伝える情報を圧縮する処理で、最大値を抽出するものや平均値を抽出するものがあります。
どちらも畳み込み後のデータの2×2領域から必要な情報のみを取り出して圧縮し次の層に伝えます。
全結合のみのDNNでは入力データが1×Nとなるため、画像のような空間に意味を持った情報(形状や隣り合う画素の関係性など)は無視されてしまいます。
それに対し、CNNでは空間が持つ意味を維持できるため、画像処理に非常に効果的であるといわれています。
まとめ
なるほど。
one more time、 one more chance を繰り返していくことで賢いAIできあがるってことですね!
「いつでも~探しているよ~♪どこかに次の重みを~♪」ってな感じですね!
実際はもっと奥が深いから理解を深めたいときは参考書を読んでみてね!
わかりました。
それにしても前回の記事に続いて聞き慣れたフレーズがチラついてましたけど、ブログ的に大丈夫なんですか?
ムラ太くん鋭いじゃないの!?
年齢的に世代じゃないと思っていたけど、意外とマニアックなんだね!
-
深層学習ではニューラルネットワークを用いて最適な重みデータを学習する。
-
畳み込みニューラルネットワークは画像認識において非常に効果的な構造である。