(日本橋)に拠点を構えています。ニューラルネットワークトピックスニューラルネットワークTweetこんにちは。NさんがAIの簡単な歴史を紹介してくれましたので、今回はAIを支える技術でもあるニューラルネットワークについて紹介していきたいと思います。ニューラルネットワークとは人間の脳には多数のニューロン(神経細胞)が存在しており、それぞれのニューロンは他のニューロンから信号を受け取り、さらに他のニューロンへ信号を受け渡しています。この信号の流れによって、脳は情報処理を行っています。この脳の仕組みをコンピュータ内に実現したものがニューラルネットワークです。第一次ブームニューラルネットワークの歴史は1950年代までさかのぼります。Rosenblatt氏が単純パーセプトロンというニューラルネットワークを発明したことが最初のブームと言われています。単純パーセプトロンとは線形識別問題により、入力データを2クラスに分類するモデルとなります。このモデルは入力層と出力層の2層からなります。イメージとしては2クラスの境界線をニューラルネットワークが学習して引いていくというものになります。単純パーセプトロンには線形分離可能な問題しか解けないという欠点があることがわかり、最初のブームは終焉を迎えます。入力層と出力層の間に新たな層を設けた3層構造のニューラルネットワークを形成するという手法で単純パーセプトロンの欠点を解決したことにより再びブームが訪れます。この手法によってできたモデルを多層パーセプトロンといいます。誤差逆伝播法とは正解と出力値の誤差を正解に近づくように前の層の重みを修正していく学習法です。多層パーセプトロンモデルにも過学習や勾配消失といった問題があることがわかり、ブームは再度終焉を迎えました。第三次ブームそして、2006年から過学習や勾配消失を解決する手法(ReLU関数、Dropout等)の発明やディープラーニングなどにより再度盛り上がりを見せ、今日に至ります。ディープラーニングとはディープラーニングとは多層パーセプトロンモデルの入力層と出力層との間の層(隠れ層)の数を2層以上としたニューラルネットワーク(ディープニューラルネットワーク)を使用して学習をすることを言います。第二次ブームの頃から多層のディープニューラルネットワークを使用すれば学習の精度を上げられるだろうと考えられていましたが、当時は学習するのに十分なデータを得られなかったことと、層を多くすることで増えた計算量に耐えられるマシンも無かったこと等が原因で研究としてはほとんど行われていませんでした。近年ではインターネットの普及等により大量のデータを得ることが比較的容易になったことやGPUによる並列計算の普及などにより、その精度が立証され、自動運転や医療機器に至るまでさまざまな分野で使用されるようになりました。GPUとはGPUとはCPUよりも多くのコアを搭載しており、並列処理を得意としているプロセッサです。GPUは大量の単純な計算をするのに優れており、ゲームなどのグラフィックに使われることが多かったのですが最近ではディープラーニングの計算処理にも使われるようになってきています。便利なフレームワーク今後ディープラーニングはますます身近なものとなってくるでしょう。ニューラルネットワークを構築するためのフレームワークも存在しますので、それらを使うことで誰でも簡単にディープラーニングを体験することができます。以下に代表的なフレームワークをいくつか紹介します。実際にGoogle社内で使われていたものをオープンソース化したものとなります。モデルの設計や学習アルゴリズムの選択の柔軟性が高く、さまざまな計算アルゴリズムも標準で提供されています。Networksが開発するニューラルネットワークを実装するためのライブラリです。特徴としてはDefine-by-Run(ニューラルネットワークの構築と計算を同時に行う方法)方式を採用しており、処理速度も速いです。Keras上でも説明したTensorflow等のラッパーライブラリです。ニューラルネットワークの構築を更に簡単に実装することができます。複雑なネットワークの構築には向いていません。さいごに今回はニューラルネットワークについて紹介しました。ディープラーニングには画像処理に強いCNNや時系列処理に強いRNNなどもありますので次回以降紹介していけたらと思います。MAKERで作成しました。プライバシーマークの付与認定を受けています。2006に適合した個人情報保護マネジメントシステムのもとで個人情報を適切に取扱っている事業者に付与されるものです。インタビューお問い合わせ。