ディープラーニングについてもう少し知っておこう

【連載】

教えてカナコさん! これならわかるAI入門

【第14回】ディープラーニングについてもう少し知っておこう

[2017/12/01 08:00]大西可奈子 ブックマーク ブックマーク

  • ソリューション
  • ● 関連キーワード
  • AI

ソリューション

数回にわたって基礎から解説してきたディープラーニングですが、前回ついに、その実体は複数の層を持つニューラルネットワークであることをお伝えできました。ここまでの説明を踏まえ、今回はディープラーニングについて少し補足しておきたいと思います。

複雑にすれば良いとは限らない

本連載の第9回で機械学習のおさらいをした際、「機械学習における『学習』とは、『パラメータを持つ関数のパラメータの部分を調整すること』」だと説明しました。ディープラーニングも機械学習の一種ですから、もちろん同じことが行われています。

ディープラーニングで使う関数やパラメータは、ネットワークの構造によって決まります。ネットワークを構成する層が多ければ多いほど、もしくは1つの層が持つ要素の数が多いほど関数は複雑になり、パラメータの数も増えていきます。

ディープラーニングで使う関数やパラメータは、ネットワークの構造によって決まる

複雑なネットワークにすれば難しい課題が解ける可能性は高まりますが、計算時間は長くなりますし、特定の教師データにフィットし過ぎて汎用性を失ってしまうといった危険性もあります。まずはシンプルなネットワークから試していき、必要に応じて層や要素を増やすようにし、いきなり複雑なネットワークを用いることのないよう注意しましょう。

ディープラーニングは簡単!?

ディープラーニングのすごさの1つは、課題を解く精度の高さです。どんな課題にもマッチするわけではありませんが、課題によっては従来の機械学習の精度を大きく上回る結果になったものもあります。

もう1つ、ディープラーニングのすごいところは、人が何もヒントを与えなくても高い精度で結果を出せることでしょう。ディープラーニングと聞くと、非常に難しくて、特殊な技能を持っていないと使えない技術だと思われがちです。しかし実際には、ディープラーニング以外の機械学習のほうが、よほど職人技が必要となります。

従来の機械学習では、「これから与えるデータのどこに注目して学習すべきか」という情報をあらかじめ人間がコンピュータに教える必要がありました。このように人がコンピュータに与える情報は、データの特徴を教えるものであることから「特徴量」と呼ばれます。

例えば、迷惑メールか迷惑メールでないかの判定器を機械学習で作成する場合、データ(迷惑メールとそうでないメールの両方のデータ)を与えると共に、そのデータにおいて特に重要そうだと思われる特徴量も与えるのです。例えば、以下のような情報になります。

  • タイトルには特に注目すること
  • 各々の語の表層だけでなく品詞にも注目すること
  • 品詞のなかでも、助詞は無視すること

※ 品詞とは、単語の分類のこと。具体的には名詞、動詞、形容詞など。

ここで与える特徴量は、人の経験則によるものです。そのため、うまくいかないことも多々あります。そういったときは、「必要なかったのではないか」と思われる特徴量を外して学習し直してみたり、別の特徴量を追加して学習し直してみたりと、多くの試行錯誤が必要でした。

一方、ディープラーニングで同様の判定器を作成する場合は、このような特徴量を与える必要がありません。にもかかわらず、高い精度を出すということで、研究者たちの間に非常に大きな衝撃が走ったのです。

従来の機械学習とディープラーニングの違い

しかし、「特徴をあらかじめ与える必要がない」というのはメリットばかりではないことを覚えておいてください。「人が特徴を与えていない」ということは、ディープラーニングが一体何を特徴だと捉えて学習して、高い精度の判定器を作成したかがわからないということです。つまり、ディープラーニングによってデータから抽出されたルールはブラックボックスなのです。

従来の機械学習であれば人間があらかじめ特徴量を与えますから、どの特徴量のおかげで、より良い判定器が作成できたのかが目に見えてわかりました。しかし、ディープラーニングで学習して出来上がったものは、どうしてそのような結果になったのかがわかりません。

ディープラーニングで用いられるネットワークはとても複雑で大規模な形態であることが多く、それは既に人が理解できる範疇を超えているからです。そのためディープラーニングで学習すると、しばしば次のようなことが起こります。

  • 人間がデータを見ても判定が難しいのに、なぜか適切な推測ができるモデルが作成できた。理由はわからない
  • 結果が芳しくないのでとりあえず隠れ層を1つ増やしてみたら、なぜか精度が上がった。理由はわからない

最近ではこのブラックボックス状態を打開しようという研究も行われているので、いずれブラックボックスの中身が、人の理解できるかたちで見えるようになるかもしれません。

ディープラーニングによる学習は、従来の機械学習よりもコントロールしにくいですが、経験則に基づいて作業しなければならない部分は少ないため、機械学習を使用したことがない人でも活用しやすい手法だと言えるでしょう。

ディープラーニングは万能ではない

自然言語処理の世界でディープラーニングと非常に相性が良い研究課題の1つに、機械翻訳があります。機械翻訳とは、コンピュータを用いて、ある言語を別の言語に自動で翻訳する技術のことです。例えば、Google翻訳でもディープラーニングが用いられています。ディープラーニングは翻訳のように、一定の規則のなかで回答がほぼ一意に定まる課題は非常に得意なのです。

反対に、自由対話のように規則性がなく、回答がほぼ無限にあるような課題は得意とは言えません。自由対話においてもディープラーニングが使われるケースはありますが、ここでは「ディープラーニングならば全て解決してくれる!」というわけではないことをお伝えしておきます。

ディープラーニングといえども、課題によって向き・不向きはあります。ディープラーニングに限らず、機械学習全般に言えることですが、機械学習を用いる場合はまず解きたい課題の本質を捉え、「どんな手法の機械学習をどのように用いるか」を見極めることが最も重要です。

著者紹介


国立研究開発法人 情報通信研究機構
ユニバーサルコミュニケーション研究所
データ駆動知能システム研究センター 専門研究員
大西可奈子

2012年お茶の水女子大学大学院博士後期課程修了。 博士(理学)。同年、大手通信会社に入社。2016年より現職。
一貫して自然言語処理、特に対話に関する研究開発に従事。
人工知能(主に対話技術)に関する講演や記事執筆も行う。
twitter:@WHotChocolate

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
3281
2
【連載】教えてカナコさん! これならわかるAI入門 [14] ディープラーニングについてもう少し知っておこう
数回にわたって基礎から解説してきたディープラーニングですが、前回ついに、その実体は複数の層を持つニューラルネットワークであることをお伝えできました。ここまでの説明を踏まえ、今回はディープラーニングについて少し補足しておきたいと思います。
https://news.mynavi.jp/itsearch/assets_c/2017/11/AIKanako14_002-thumb-400xauto-15866.jpg
数回にわたって基礎から解説してきたディープラーニングですが、前回ついに、その実体は複数の層を持つニューラルネットワークであることをお伝えできました。ここまでの説明を踏まえ、今回はディープラーニングについて少し補足しておきたいと思います。

会員登録(無料)

セキュリティ・キャンプ2017 - 精彩を放つ若き人材の『今』に迫る
ぼくらのディープラーニング戦争
クラウドアンケート
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
人事・経理・総務で役立つ! バックオフィス系ソリューション&解説/事例記事まとめ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る