Tech Garden School講師の井上です。
普段はアルティザンエッジ合同会社という会社を1人で運営するITエンジニアであり、ITコーディネータをやっています。
さて、この間の授業の合間に、スクール代表の高橋さんからご依頼を受け、機械学習やIoTといった最近話題のキーワードについて説明をさせていただきました。
そのポイントをいくつか、こちらのブログでも紹介します。
アルゴリズムと機械学習
私はスクールではプログラミングやアルゴリズム(といっても非常に簡単なもので「処理」といった方が適切かもしれません)の授業を受け持っています。
なので、データの入力、出力、そしてその間にあるアルゴリズム(処理)という見方で、説明をしましょう。
機械学習は、この見方ではアルゴリズムに相当します。
普段、私が教えているプログラミングでは、処理はあらかじめ決められています。たかだか2〜3つの分岐を何らかの条件によって選択させる程度のことです。
コンピュータは元来、あらかじめ人間によって「プログラムされた」とおりにしか動きません。
そのため「既に決まったルール」に従ってプログラムし、そのとおりの結果を得ます。
ところで、人間は大まかな傾向を把握する能力に優れています。
目の前のデータは少しでも、その人間が培ってきた経験が豊富であれば、だいたいの予想はできます。
経験の中から、自分なりのルールを見つけ出して、それを適用しているのです。
亀の甲より年の功。オジさん(もちろんオバさんも)の持つ、経験なるものの力です。
そんなことが、コンピュータにできるようになるのでしょうか。
今まで「ルールは決まっている」ことを前提に作られていたシステムが、「ルールを見つけ出す」側に回ることができるのか。
それを実現する可能性を持っている技術が、機械学習です。
オーダーメードカリキュラム診断
あなたのなりたい姿から逆算して
あなただけの学習プランを診断します。
簡単3分で完了!
膨大なデータを生むIoTとクラウド
機械学習もまた、人間と同様に「経験」が重要になります。
コンピュータに経験させる量を増やすには2つの方法があります。
1つは大量のデータをコンピュータにインプットすることです。
IoTでは世の中にある多くのモノが、コンピュータにデータを与える源となります。
カメラで撮影した動画や、マイクで集めた音声をはじめ、温度や振動といったセンサー、位置情報などは、膨大なデータを生み出します。
また、ユーザの操作ログなど今まで多くが捨てられていた膨大なデータもあります。
これらをすべて、コンピュータにインプットし、経験させると、何が判断できるようになるでしょうか。
もう1つは、そうして各々のコンピュータが経験し学習した情報を、クラウドを介して共有することです。
情報が共有出来ると、経験は無限大に広がっていきます。
これは、1人の人間が、何億、何十億の他人の持つ経験を併せ持つのと同じことです。
ビッグデータをどう活用するか
このようにコンピュータが扱うデータはどんどん増えています。
ユーザが増えたり使用頻度が上がったからデータも増えるという程度だったのが、データの発生源そのものが爆発的に増えていくので、増加率は圧倒的です。
いわゆるビッグデータ時代の到来です。
しかし、大量のデータがあるというだけでは、なんの意味ももたらしません。
データは何らかの解釈が行われて、はじめて「情報」として意味を持つようになります。
ビッグデータをどうやって活用するのか、単なるデータをいかに情報に転化させるのかが重要です。
リコメンデーションエンジン
一つの切り口はリコメンデーションです。
Amazonで商品のオススメをさせるのがそうですし、次はどこに出店するかを考えるコンビニや飲食店もそうです。
過去、現在の様々なデータや、未来の予想データなどを元に、ベストと思われる結果を予想し、それをリコメンデーションします。
チェスや将棋の世界で人間と戦うコンピュータがありますが、それもベストと思われる一手を探し出し、それを実行しているわけです。
Pepper
Pepperが人間の相手に対してどういう発言をし、体を動かすかも、やはりリコメンデーションの延長線上にあるといってよいでしょう。
相手からの問いかけにどう答えると、相手が喜ぶかについて、ベストと思われる結果を予想し、そのように発言し、体を動かしています。
Pepperが発言したりすると、即座に相手の人間は驚いたり感心したり、何か新たな問いかけをしたりとレスポンスを返します。
それをまた、Pepperのカメラやマイク、センサーなどで新たなデータとして収集しています。これが単なるリコメンデーションとの違いです。
データは循環しアルゴリズムは価値を増す
このように、大量なデータを元に何らかの判断を行うようになったコンピュータは、その判断を実行に移した結果から、また多くのデータを収集するようになります。
データは循環していきます。その循環の度に、データ量はより大量になっていきます。
この循環こそがコンピュータにとっての経験そのものです。
経験を大量にこなすことによって自ら学習することができるようになったコンピュータは、さらに賢くなり、アルゴリズムはどんどん価値を増していくことでしょう。
その時、私たちの世界はどのように変わっているでしょうか。
楽しみでもあり、少しの不安も感じるところです。