『ディープラーニング』について、プログラミングがわからない人でもわかりやすいようにご紹介します。
「AI」という言葉を聞いたことがあると思いますが、AIがどのようなもので、どのような事ができるのか、知らない人は多いかと思います。
今回は《ゼロから作るDeep Learning Pythonで学ぶディープラーニングの理論と実装》(著:斎藤 康毅)で学んだことをお話いたします。
本のタイトルに「ゼロから作る」と書かれているので、プログラムを触ったことのない人も読めると感じる人が多いと思います。
しかしプログラマー経験の無い方が読むと、おそらく途中で挫折します。
最初の約20ページはPytionの基礎について、誰でもわかるように書かれています。
だけどページが進むたびに複雑な計算(シグモイド関数、勾配法など)やプログラムが現れます。
なのでプログラマーがゼロからディープラーニングを学ぶとしては良い本ですが、プログラム経験の無い人には苦行でしょう。
ディープラーニングとはなんぞや?
ディープラーニングとは、AI(コンピューター)が、膨大な画像や音声を覚え、覚えたモノを判断する能力です。

例えば、猫の『画像認識』であれば上記のような図となります。
画像が1000枚…1万枚…1億枚と多ければ多いほど、たくさんの猫をAIが覚えられます。
猫だけでじゃなく、犬や人間/家/電柱とたくさんの画像をAIに取り込めば取り込むほど、AIはどんどん学習していきます。
ディープラーニングで何ができるか?
ディープラーニングはどのような場面で使われるでしょうか?
今からお伝えすることを全て、人間ではなくAIだけでできるようになります。
画像認識
・自動車、二輪車の自動運転
・防犯カメラの映像から、犯人の名前、住所を特定
・行方不明者を、監視カメラで捜索
・農作物の収穫
・制作物の品質チェック
・製品の仕分け
・空港での顔パス
・レジの顔パス
・部屋のデザイン
・街中用の超高性能掃除機
・カメラで撮影した場所の特定
・美術作品の真作と贋作の判断
など
人が目で見て判断していることを、AI&ロボットができるようになります。
音声認識
・外国語の翻訳
・スマホなどの文字入力
・テレビやエアコンなどの家電を操作
・動画の自動テロップ
・自動運転の行き先指示
・Amazon Echoのようなスマートスピーカー
・知育、認知予防アプリ
・イヤホンの外部音遮断
・高性能補聴器
など
人が耳で聞いて判断していることを、AI&ロボットができるようになります。
ディープラーニングでは、人間が『目』や『耳』などの五感で判断していることをAIが過去のデータと比較して、自ら行動を決定します。
「人の仕事が奪われますよ」と言われているのは、人間が五感に頼っている仕事は会社が設備投資さえできれば「全てAI/ロボットに代用できてしまう」ということです。
AI/ロボットのメリットは人間のように体調を崩さず、24時間無休で人件費を払わなくて良いことです。
画像を取り込むには、高性能パソコンがたくさん必要
高性能パソコンとはゲームに特化したパソコン、または動画編集用のパソコンなど『GPU』を搭載したパソコンが必要になります。
現在では1台、20万円以上はするでしょう。
なぜGPU搭載の高性能パソコンが必要であるか?
AIが1枚の画像を取り込む際に、次のようなステップがあります。
1.画像を細かく分割
2.分割した画像を、それぞれ数字に変換
3.変換したものを、それぞれ複雑な計算を繰り返す
これらのステップを取り込んだ枚数分行うため、AIに学習させるだけで、数週間が必要になります。
パソコンの台数を増やすことにより、処理を分散させて学習時間を短縮することができます。
大量のデータを保管するサーバーの維持費や、AIの認識率を上げる細かい調整が必要のため、膨大な時間とお金が必要となります。
細かい調整を行うためには、ご紹介した本を理解できるプログラマーが必要不可欠です。
ディープラーニングは簡単に実装できるか?
ディープラーニングを簡単に実装できるのか?
答えは「簡単にできません」。
・高性能パソコンを複数揃える
・データサーバーを複数用意する
・ニューラルネットワークに関する知識のあるプログラマーを数十名揃える
・学習時間に膨大な時間が必要
これらを揃えられる企業は、Google、Amazon……日本だとトヨタやソフトバンクのような大手企業ではないでしょうか?
まずディープラーニングに必要な『ニューラルネットワーク』の知識があるプログラマーは凄く優秀で、多額の年収を払わないと雇えないでしょう。
しかもニューラルネットワークは簡単ではなく、シグモイド関数/微分/偏微分/多次元配列/論理回路/関数などを十分に理解したプログラマーである必要があるので、一から開発をするならば教育だけでなく、理数系&プログラマーの素質が重要になります。
ホームページやゲームのプログラマーのように、「クリックしたらページ移動」「衝突したら壊れる」のようなソースコードが書けるだけのプログラマーでは、まず無理でしょう。
ディープラーニングは決まったものがあるわけでなく、アメリカでは「どこが開発したディープラーニングの精度が高いか?」のコンテストが毎年行われています。
ニューラルネットワークを開発できる優秀なプログラマーはとても少なく、このようなコンテストに参加できる大手企業に勤めているはずです。

それでも「ディープラーニングを仕事にしたい!」という方
一から開発するよりお勧めなのが、AWS(Amazon Web Services)です。
AWSは、Amazonのレンタルサーバーのイメージが強いでしょう。
しかし、レンタルサーバーだけでなく、たくさんのサービスがあります。
AWS公式サイト
https://aws.amazon.com/jp/
AWSのサービスには分析ツール/ゲーム/IoT/ロボット/コンテンツ配信など、現代で必要なツールが豊富です。
これらのサービスの中に『機械学習』というものがあります。
機械学習がディープラーニングに必要なツールとなります。
まずはニューラルネットワーク&ディープラーニングを学びつつ、『機械学習』のサービスを使いこなせるようになりましょう。
サーバーの開発・運用を考えても、AWSはとても安いです。
詳細はわかりませんが、AWSに蓄積したデータも共有できるのではないでしょうか?
学習データを共有できれば、AI学習で何週間も待つ問題を解消できます。
おわりに
今後、AI開発に関する仕事は増えますが、ディープラーニングは簡単に習得できません。
ディープラーニングを利用したAIに興味があれば、まずは参考書を読んでAWSのサービスを利用したプログラマーになりましょう。
また仕事として興味がなくても「AIで何ができるか?」については理解できたと思います。
海外企業が参入しないよう鎖国してしまえば、AIに仕事が奪われることを気にしなくても良いでしょう。
だけどそういうわけにはいきません。
日本は少子高齢化が進み、日本企業では人手不足になり、人口が減ればモノは売れなくなって日本は衰退の一方です。
日本を元気にするためには新テクノロジーを受け入れて、残業&土日出勤なしで家族を養える環境にして出生率を増やすべきです。
コメント