Pinto!

企業のマーケティングを支援する「ピント!」

話題のディープラーニングとは?過去の歴史とあわせて解説していきます。

Writerライター

粟田 順也

株式会社PLAN-B Juicer事業部

2017年新卒採用でPLAN-Bに入社。自社DMPの開発を行なうJuicer事業部にて、新規機能開発における機械学習部分を担当。

目次
    1. 脳を模した構造
    2. ニューラルネットワークの発展
    3. ディープラーニング
    4. まとめ

「ディープラーニング」という言葉を聞いたことがあるでしょうか。ディープラーニングは人工知能の一手法として精度が高いことで有名で、近年さまざまなところで導入され、注目を集めています。

有名なところでは、AlphaGoと呼ばれる囲碁のAIがプロの棋士を倒したときに使われたのが、このディープラーニングと呼ばれる技術です。また、車の自動運転などで使われる画像認識や、昨今流行りのスマートスピーカーで使われる音声認識などにも、同じくディープラーニングが使われています。

2012年に、画像認識コンテスト「ILSVRC(ImageNet Large Scale VisualRecognition Challenge)」で、正答率約85%(前年度優勝記録約75%)を叩き出し、一躍注目を浴びたこの技術について、今回は少し詳しく解説したいと思います。


脳を模した構造

「ディープラーニング」という言葉が使われだしたのは2000年代後半ですが、この技術の原型となるニューラルネットワークの歴史を遡ると、発端は実は50年以上も昔となります。1943年、脳が神経細胞のネットワークによって成り立っていることから、これを模倣することで高度な情報処理ができるのではないかと考えて考案された「形式ニューロン」と呼ばれるアルゴリズムが、ディープラーニングの歴史の始まりです。

形式ニューロン

ディープラーニングもそうですが、形式ニューロンも、いわゆる「教師あり学習」と呼ばれる機械学習の手法の一つです。教師あり学習とは、正解がついているデータを与えられた上でそれらを学習し、正解が分からないデータに対しても答えを予測することができるようになるという手法です。

形式ニューロンでは、重みや閾値は実数をとりますが、入力や出力は0か1でした。作り自体は、実際の神経細胞に比べてかなり簡単なものになっていますが、最終的には発火するかしないかという二択であるという点でやはり、形式ニューロンと神経細胞は似ていると言えるでしょう。

例として、ある形式ニューロンを、「A君が学校に行くかどうかを判定する分類器」としたとします。このとき入力としては、「台風が来ているか」「好きな授業があるか」「嫌いな授業があるか」などが考えられます。出力はもちろん、「A君が学校に行くかどうか」です。

形式ニューロン例

まず、A君が学校に行ったとき、行かなかったときのあらゆる情報を集め、この形式ニューロンに学習させます。すると、以下のように重みと閾値が決定されました。

形式ニューロン例

この形式ニューロンを使うと、台風が来ていたら好きな授業があっても結果は閾値を下回るのでA君は学校に行かなさそうなことや、嫌いな授業があっても、台風が来ていなくて、好きな授業があればA君は学校に行くであろうことが予測できます。これが、ディープラーニングの一番の祖先、「形式ニューロン」です。


ニューラルネットワークの発展

その後1958年に、形式ニューロンをいくつか並列に組み合わせてから出力ニューロンで束ねるという2層の構造をとる「パーセプトロン」が考えられ、注目されるようになります。

パーセプトロン

ですが、パーセプトロンには致命的な欠陥がありました。それは、「線形分離可能な問題しか解けない」というものでした。「線形分離可能な問題」というのは、簡単に言うと「直線で分けることのできるもの」ですが、それでも分かりづらいため図で説明します。

線形分離可能とは

ここでは、なんとなくイメージだけ掴んでいただけたら大丈夫です。「脳の神経を模している」ということもあり、一時期流行ったパーセプトロンですが、現実的には世の中の解きたい問題は大抵線形分離が不可能な問題だったため、当初期待されていたほどの活躍もなくパーセプトロンの研究は廃れていってしまいます。

この問題が解決されたのは約30年後、1986年でした。解決方法はいたって単純で、間に隠れ層と呼ばれるもう一つのニューロンの層を加えることでした。

隠れ層

このとき重みの計算などが非常に難しくなるのですが、誤差逆伝搬法と言われる良い重み調整の手法ができたため、3層構造でも学習が可能になったのです。


ディープラーニング

ここで、「2層から3層になっただけで性能が飛躍的に伸びたのだから、これを4層やそれ以上にどんどん増やしていくとどんどん性能が上がっていくのでは?」と思うかもしれません。
実際に、層を増やしたり各層のニューロンの数を増やすと表現能力が上がるということは、早い段階でわかっていました。

ニューロンの数を増やすと…?

そのため多くの研究者が層を増やしていく方法を研究していきましたが、いくら理論的には大きいネットワークの方がよくても、さまざまな理由でうまく学習できずむしろ性能が下がってしまうという問題があり、ニューラルネットワークの研究はまたもや冬の時代を迎えます。

廃れていってしまった研究でも研究し続ける人はいるもので、約20年後、2006年頃にようやく「ニューラルネットワークの層の数を増やしてもうまく学習する方法」が編み出されました。これがディープラーニングです。層が深くても学習できるからディープというわけです。

実際にその方法を試してみたら、今まで提案されていた色々な手法を圧倒する性能が出てしまい、世界中の研究者が度肝を抜かれ、今なお注目を浴びているところです。


まとめ

ディープラーニングと聞けば、最近考えられて最近できたなんだかものすごい技術というイメージがあると思います。でも実は、遡れば50年以上も昔から始まったアルゴリズムで、現在の構造に近いものも30年近く前に考えられていたものです。

またディープラーニングを筆頭に、「人工知能」と呼ばれるものは、なんだかいずれ人間が制御できなくなって自ら学習していくというイメージがあると思います。

「脳の神経構造を模した構造」というのも、自ら意識を持って学習していくようなイメージを助長してしまうかもしれませんが、まだまだ技術的にはそこまでは到達していないのです。

いずれそのようなことが起こってしまわないためにも、「よく分からない、すごそう」などといって遠ざけるのではなく、一人一人が理解していく必要があるのではないでしょうか?この記事が、その手助けになると幸いです。

Juicer サービスページはこちら

関連する記事を読む