ディープラーニングによって何が変わるか
先行している画像認識
画像認識の分野では、すでにディープラーニングは使っていて当たり前の技術です。有名な例として、2012年にGoogleが行った猫の画像の判定があります。条件をたくさん記述するのではなく、大量の猫の画像から特徴を抽出する方法で大きな成果を上げました。人間と同じように、猫やほかの動物を何匹も見ていく中で、自分で共通点や相違点を判断して、それぞれの特徴を理解します。
また、たくさんの写真を人物ごとに分類するという作業も人工知能による成果が出ています。もちろん人間がやることもできますが、写真の数が多いと気が進まない作業です。実際には人間がやるよりも精度が高くなったといわれています。
「画像認識ができない」という前提の下にあった社会
現在の社会は多くの場面で「画像認識ができない」という前提の下に、いろいろなものが作られています。機械は見ただけで人物や商品を特定できないという前提があったため、番号やバーコードを振って、それにフラグを立てるなどして管理しているのです(人間が管理しやすいという理由もありますが、機械による制限のほうが大きいでしょう)。その前提が覆ったとき、どのような事態が起きるのか想像が追いついていません。
例えば、バーコードがいらなくなるとレジの形が変わります。なし崩し的にPOSや流通の仕組みにも新たな提案が出てくるでしょう。画像認識という一分野だけでこういった状況なので、本当に世界が変わる可能性があります。
ディープラーニングの課題
学習の内容を人間が理解できない
人工知能は、機械学習などのアルゴリズムを部品的に用いて高度な推論を行うシステムですが、その前提として高性能な計算機のパワーと膨大なデータ量が必要です。最近はコンピュータの能力が向上し、巨大なデータも取り扱えるようになってきたため、実際にさまざまな業界で実装され、実用化への歩みを着々と進めています。
人工知能が実装される流れも非常に速く、多くの人が期待と不安を覚えているのは事実です。ただし、囲碁で人間に勝ったとはいえ、それまでの学習にかかった時間や、学習に必要なコンピュータの性能などを考えると、一般的に使われるにはまだまだ時間がかかると思われます。
また、ディープラーニングの特徴は、ニューラルネットワークでの隠れ層の部分が何層にも重なり、重要なところだけを押し込むことです(図2)。すると当然ながら、この重要なところをどうやって人間が理解するか、という問題があります。不具合があるような動きをしたときに、その原因が突き止められないと改善は難しくなります。
囲碁や将棋の場合には、結果が正しいかどうかは対局が進めば分かります。しかし、自動翻訳などの場合、誤って翻訳されていても誰も気づかない可能性があります。いいたいことが誤って伝わってしまう可能性があるようでは、ビジネスでは使いにくいでしょう。
ディープラーニングを普及させるためには、何かの間違いが起きた際に、不具合によるものなのか、学習元のデータによるものなのかなど、少なくとも理由を追及できる状況は作る必要があると思います。
必要なのは「正確な」データ
また、囲碁や将棋など限られた範囲であればデータの収集が容易です。対局を繰り返すことで同じ状況が再現できますし、何度も細かな変更を行うことで多くのパターンを試すことができます。しかし、日常生活などの場面では時々刻々と環境が変わっていくので、同じ環境を再現することは困難です。
決められたルールの中で、考えられる選択肢の中から選ぶのであれば現在の技術でも可能ですが、そもそもどのようなデータが必要なのか分からない、選択肢も膨大にある場合はディープラーニングも使いようがありません。
また、集めたデータに誤りが多いと、得られる結果も間違えてしまいます。つまり、現時点ではデータをコンピュータが取り扱いやすいように前処理して、データの内容に問題があるかどうかを確認する作業も必要になっています。
このように、正確なデータを必要な項目だけに絞って収集することの実現はまだ先になりそうです。今後も限られた範囲で人間を支援する役割をする流れは続きます。
単行本化のお知らせ
2016年12月17日に、この連載をベースにした新刊『エンジニアが生き残るためのテクノロジーの授業』が発売されました!
ITとビジネスの関係、コンピュータ、ネットワーク、プログラミング、データベース、セキュリティ、人工知能など、本連載で解説した内容も含め、エンジニアなら誰もが知っておくべきテーマを一冊で学ぶことができます。
IT業界でずっと活躍するために、本物の力を身につけよう。