非構造化データを活用する
これまで画像、音声、手書き文字などの非構造化データは、定量的な情報としてはコンピュータ上でほとんど扱えなかった。それが一気に扱えるようになったことが、ディープラーニングによる革命とも言える部分である。
ディープラーニング導入のプロセスと課題
AIを導入・運用・実装する時、一般に9つのプロセスがある。このプロセスを進めていく中で、AI導入で失敗に陥りやすいが、逆に乗り越えれば成功させられるポイントがある。
①データの取得
とにかく大量データが必要。この時、APIや負荷分散の仕組みがないと、大量のデータが一度に送られてしまって、エラーが起きる。またセキュリティの担保も必要である。
②データの蓄積
データウェアハウスを用意して、テラ級、ペタ級のどんな巨大なデータであっても溜められる状況を作っておく必要がある。
③データの確認
データフォーマットの正確性を確認する。「こういうデータを送って下さい」と事前に打合せしておくが、入力の部分でフォーマット形式が違うものが来ると、出力が難しくなる。
④教師データの作成
教師データの作成では、アノテーションと呼ばれる、手入力で「タグ付け」作業を行うが、ディープラーニングの場合には1、2万枚など、かなりの枚数が必要となる。そうすると、教師データ作成のための人集めも必要であり、作業を効率化するためのツールがないと厳しい。
またアノテーションの精度も重要である。アノテーションが正しくないとモデルの精度は高くならない。
⑤モデルの設計
かなり専門的な人材を必要とする。「こういうケースなら、4層か5層のニューラルネットワークを使えばいい」といった判断をできる人材がいない限り、イチからモデル設計するのは困難である。
⑥学習
GPUの環境の準備、仮想化、分散などができるか。また、どのデータと、どのモデルを使ってどういう結果が出てきたかということを、すべてバージョンごとに管理する必要がある。どのデータで試した時、どうなったかが不明になると、データ量が大きいだけにカオス状態に陥る。
⑦デプロイ
環境の異なる本番環境に、学習のフェーズで作ったモデルだけを引き渡す作業は、技術的にかなり高度である。
⑧推論
最終的に推論していく場合には、冗長性やGPUリソース担保が問題になる。また、クラウドでなくエッジ側(現場)で動かす場合には、どのようにしてエッジ側にそのシステムを持っていくのかという連携も課題となる。
⑨再学習
環境の変化で精度が下がってしまう恐れがあるので、どのタイミングで再学習を行うのか、難しい判断が求められる。再学習を行う場合も、バージョン管理が正しくできていないと、再学習の方針を決められなくなる。