AI(人工知能)を実現するための最も自然な方法は人間の脳をコピーした機械を作り出すことでしょう。ニューラルネットワークは人間の脳を参考に設計された機械学習の手法です。
ニューラルネットワークは世界中を大震撼させた深層学習の基礎となる技術です。
この記事では深層学習の基礎としてニューラルネットワークがなぜ必要で、どのように人間をコピーしているのかを紹介していきます。
人間にはできて機械にできないこと
まずは皆さん下の双子の姉妹の写真を見てください。お姉さんと妹の見分けはつきますよね?初対面の双子だと難しいかもしれませんが、皆さんの友達の双子であれば間違えずに判別できるはずです。
では皆さんは彼女達をどのように見分けていますか?他の人に言葉だけで見分け方を伝えられますか?
これこそが人間にできて機械ができないことです。視覚や音などルールでは説明できない微妙なモノをニューラルネットワークでない機械学習は学習できませんでした。
そこでこのような問題を解決するために設計されたのが人間の脳を模倣したニューラルネットワークだったのです。
人間とコンピュータのニューラルネットワーク
コンピュータのニューラルネットワークを説明する前にまずはオリジナルである人間の脳がどのような仕組みで機能しているかを押さえましょう。
人間のニューラルネットワーク
人間の脳はニューロンという神経細胞が伸びて他のニューロンとシナプス結合をすることでネットワーク構造を形成しています。ニューロンがネットワークを形成するのでニューラルネットワークと言います。
ニューロンに入力された刺激はニューラルネットワークを通って出力されます。
例えばリンゴを見ると「赤い」「丸い」「ヘタがついている」などの刺激が入力されてニューラルネットワークを通すと「リンゴ」と出力されることでリンゴと認識しています。
この情報伝達は非常に複雑で、入力に応じてネットワークの構造を変化させたりネットワークの規模を変化させることで効率的に情報を伝達しています。
コンピュータのニューラルネットワーク
ではコンピュータのニューラルネットワークはどのようになっているかというと、人間のニューラルネットワークをモデル化した構造を採用しています。
モデル化というのは物事の本質だけ抽出して残りはシンプルにすることです。物理や数学の世界では当たり前のように行われます。残した特徴は下の二つです。
- ニューロン同士が繋がってネットワーク構造を形成している
- 伝達する情報によってニューロンの結合の強さが変化する
モデル化というのは難しいもので、単純化しすぎて現実とは別物になってしまうことがよく起きます。ニューラルネットワークについても同様で、人間の脳とは全く別物ではありますが、機械学習においては有効であると認められているだけです。
ではコンピュータのニューロンは人間のニューロンをどのように再現しているかというと、情報に重みという情報の重要度を付加することによってニューロンの結合の強さを表現しています。
具体例:手書き文字の判別
情報の重み付けを具体的に説明するため、よく引き合いに出される手書き文字の判別を例に考えてみましょう。
28×28px手書き文字の画像をニューラルネットに入力して数字を判別することを考えます。ここで入力は28×28=784ピクセル分のノードで、出力は0〜9である確率を表現する10個のノードから出力されるとします。
重み付けとは簡単にはどんな特徴を抽出するかを表しています。
例えば0という数字を考えると、0は画像の上部と下部に丸みを帯びているような特徴を持っていると考えられます。つまり下の赤丸の部分に対応するピクセルの重みを大きくすることで「ここが0の特徴です」と判断しているのです。
ニューラルネットワークの限界
このようにニューラルネットワークは重み付けによって、直線や曲線、頂点、辺といったルールでは説明できないモノを認識することを可能とします。
しかし数字のような単純な例ならいいですが、これが文字や画像となると話は途端に難しくなります。なぜなら学習すべき要素が膨大でとても大きなネットワークを構成しなくてはいけないからです。
つい最近までは上の例のような3層のニューラルネットワークによる計算が限界でした。
なぜなら重み付けをランダムに決めてたまたまうまくいった場合の重み付けを保存していたので層を増やせばそれだけ重み付けが上手くいく可能性が低くなるからです。
この問題を解決したのが現在世界中が注目している深層学習(ディープラーニング)だったのです。
まとめ
今回は深層学習(ディープラーニング)に入る土台作りとしてニューラルネットワークの概念と仕組みについて説明しました。まとめると下のようになります。
- ニューラルネットワークは人間を真似て設計された機械学習の手法である
- 情報の重み付けによってニューロンの情報伝達を表現している
- 重み付けはランダムに行い上手くいったものを採用するため大規模なネットワークの構築が難航していた
コメント