開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2021/04/26

オートエンコーダ(自己符号化器)とは? ディープラーニングとの関係を図解で解説

連載:図でわかる3分間AIキソ講座

ニューラルネットワークは、「多層化」と「バックプロパゲーション(誤差逆伝播法)」と呼ばれる技術によって1980年代に大きく成長しましたが、それだけでは実用的なレベルには達しませんでした。解決困難な問題を抱えて20年ほどの歳月が経ったころ、ニューラルネットワークが抱えていた問題を解決し、「ディープラーニング」を生み出すところまで導いたのは、2006年に登場した「オートエンコーダ(自己符号化器)による事前学習」という手法でした。

フリーライター 三津村直貴

フリーライター 三津村直貴

合同会社Noteip代表。ライター。米国の大学でコンピューターサイエンスを専攻し、卒業後は国内の一部上場企業でIT関連製品の企画・マーケティングなどに従事。退職後はライターとして書籍や記事の執筆、WEBコンテンツの制作に関わっている。人工知能の他に科学・IT・軍事・医療関連のトピックを扱っており、研究機関・大学における研究支援活動も行っている。著書『近未来のコア・テクノロジー(翔泳社)』『図解これだけは知っておきたいAIビジネス入門(成美堂)』、執筆協力『マンガでわかる人工知能(池田書店)』など。

画像
オートエンコーダ(自己符号化器)による事前学習とは何か?(後ほど詳しく解説します)


ニューラルネットワークの「事前学習」

 ニューラルネットワークを構成する技術の1つ、「バックプロパゲーション(誤差逆伝播法)」が抱えていた課題は、ニューラルネットワークの層が多くなると「誤差に関する情報が十分に届かない」というものでした。この問題は層が増えれば増えるほど解決が難しくなります。層を増やさなければ性能を発揮しないニューラルネットワークにとっては致命的な問題でした(詳しくは前回の記事をチェック)。

 しかし、「事前学習」という手法においては、層を増やす前段階の「まだ小さなニューラルネットワークの状態」で学習をさせます。層が少ない状態であればバックプロパゲーションの技術も使えますし、学習も容易です。

 つまり、あらかじめ学習させておいた小さなネットワークを集めて大きなニューラルネットワークを作れば最初の時点で誤差が小さくなり、バックプロパゲーションによる修正が容易になると考えたのです。

 これは画期的なアイデアですが、問題は小さなニューラルネットワークに何を学ばせるかという点です。小さなニューラルネットワークを大きなニューラルネットワークに組み込んだ際に、それぞれのネットワークがどのような役割を果たすか分かりません。

 安易に事前学習を施しても、役割に合わないことを学ばせれば却って逆効果になるでしょう。そこで、意外なアイデアがディープラーニングの生みの親であるジェフリー・ヒントン氏という研究者によって提案されました。

「オートエンコーダ」とは

 オートエンコーダ(自己符号化器)と呼ばれる技術は、入力された記号をエンコード(符号化、圧縮)して別のものに変え、もとの形に戻して出力する手法です。この手法の独特な点は入力と出力が同じ、つまり「問題」と「答え」が同じ問題を学習させる点にあります。

画像
6を入力させて6を出力させる

 一見すると意味がないように思われますが、上図に重要な要素が隠れています。それは入力層(左)と出力層(右)のニューロンに比べて中間層(中央)のニューロンが少ない点です。中央部分でネットワークが集中しているため、ネットワーク上で情報を処理する際には何らかの形で情報を減らさなければなりません。

 情報を減らしても同じ答えを出せるようになるためには情報を圧縮させなければなりません。そこで中央部分のネットワークは「どんな情報を落としても大丈夫か」「どんな情報が必要なのか」という「情報の特徴」を学ばなければならなくなります。

 これがオートエンコーダのキモです。多層ニューラルネットワークの各層それぞれにおいてオートエンコーダによる事前学習を行うことでバックプロパゲーションによる誤差が減り、多層ニューラルネットワークの学習効率が大幅に改善しました。

【次ページ】「情報を圧縮できる」=「特徴を知っている」

お勧め記事

AI・人工知能・機械学習 ジャンルのトピックス

AI・人工知能・機械学習 ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!