ニューラルネットワーク (Neural Network)
2020/7/1 平野拓一
人工知能(AI)、深層学習(ディープラーニング)などで脚光を浴びているニューラルネットワークの原理について説明する。一般広報されている情報は誇大広告になっているので、技術について正確に説明する。
人間は文字を読んだり、写真や絵を見て何が描かれているか判断できるが(パターン認識と言う)、従来のコンピュータのプログラム(for文やif文)でパターン認識を実現しようとすると非常に困難であった(汎用性のあるアルゴリズムの開発はかなり難しい)。ニューラルネットワークは動物の脳の構造をコンピュータでシミュレートする手法で、パターン認識を行うための汎用性の高いアルゴリズムである。Windowsの文字入力システムのIMEのIMEパッド(ニューラルネットワークの原理(PDF)のp.24)などは典型的な応用例である。
関数の近似
深層学習による画像認識
■Deep Learning・・・多層のニューラルネットワーク。2012年からGoogleの画像検索は任意の画像をアップロードして検索できるようになった。花の画像をアプロードして名前を調べるなど、植物図鑑を調べるかわりに使うこともできる。Googleの画像検索は2001年からサービスは開始されていたが(ニューラルネットワークの原理(PDF)のp.25)、当時はHTMLの画像に付随するALT属性のテキストや画像周囲のテキストから検索する単純なアルゴリズムだったと思われる。
多層(それまではせいぜい2層だったらしいので、3層以上)になって層数が増えるとニューラルネットワーク学習のための演算量が劇的に増大し、計算コストがかかるために以前は不可能だった。ちょうどこの頃画像処理プロセッサのGPUが発展して、GPGPUとして一般の並列計算にも用いられるようになり(NVIDIAはこれで成功を収めた)、多層ニューラルネットワークが現実的になった。層数を増やして試してみると、画像の認識能力が飛躍的に向上したということ。
Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, "ImageNet Classification
with Deep Convolutional Neural Networks," 2012
https://papers.nips.cc/paper_files/paper/2012/hash/c399862d3b9d6b76c8436e924a68c45b-Abstract.html
学習の演算量以外にももう1つの問題があった。層数が増えると、学習で必要となる連鎖律に出てくる微係数が0になってしまう勾配消失(ニューラルネットワークの原理(PDF)のp.12の∂y/∂s≒0)が起こるが、その際、活性化関数としてシグモイド関数よりもy(x)=max(0,x)で定義されるReLU (Rectified Linear Unit)のが良いということが1年前の2011年に発表されている。
X. Glorot, A. Bordes, Y. Bengio "Deep Sparse Rectifier Neural Networks," Proc. of the International Conference on Artificial Intelligence and Statistics (AISTATS), 315-323, 2011.
https://proceedings.mlr.press/v15/glorot11a/glorot11a.pdf
■GAN・・・敵対的生成ネットワーク (GAN; Generative Adversarial Networks)。(主に)画像生成ニューラルネットワークとして用いられる。画像認識のニューラルネットワークの入出力を逆にして、ラベルから画像を生成できるようにしたようなもの。
I.J. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S.
Ozair, A. Courville, Y. Bengio, "Generative Adversarial Nets,"
2014.
https://arxiv.org/abs/1406.2661
■Transformer・・・Googleが開発した系列変換用ニューラルネットワーク。ChatGPTなどのテキスト型生成AI技術、チャットボットの技術の基礎。この技術により、2017年頃から自動翻訳(Google翻訳など)の性能が飛躍的に向上した。
A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A.N. Gomez, L. Kaiser, I. Polosukhin, "Attention is All you Need,". Advances in Neural Information Processing Systems, 2017.
https://arxiv.org/abs/1706.03762
・Transformerのチュートリアル動画(外部リンク)
3Blue1Brown - Visualizing Attention, a Transformer's Heart | Chapter 6, Deep Learning
https://www.3blue1brown.com/lessons/attention