Blog
こんにちは。丸山史郎です。
Preferred Networksでは2019年の6/8(土)に小学校高学年向けのディープラーニング体験教室を行いました。
体験教室の内容は大きく3つに分かれており、その中の30分くらいの時間でレゴ® マインドストーム®を使ったロボットカーの体験教室を行いました。この直前に「ものまね」算という形で小学生向けのディープラーニング(機械学習)の解説があり、ここではディープラーニングをロボットに使うとどのようなことができるのかということを実際に体験してもらうことを目的としました。
また、弊社としては小学生向けの体験教室は初めてのことでしたので、ロボットの準備やロボット体験の内容へのアドバイス、当日の運営などを株式会社アフレル様にご協力いただきました。
以下のようにカメラとカラーセンサーがついているロボットカーを用意しました。
ロボットカーはカメラのついている方向に進み、また左右のタイヤの制御量を調整することで左右に曲がりながら進むことができます。
ロボットの制御には以下の3種類(ルールベースの制御1種類、ディープラーニングベースの制御2種類)を用意しました。
各ロボットはその場で組立てやプログラミングは行わず、今回はこちらで用意したものを動かしながら観察して頂き、その仕組みを理解してもらうことに注力しました。
以下に今回用意した3種類のロボットについて少しだけ解説させていただきます。
「白かったら右(黒かったら左)」号
これはカラーセンサーを使って簡単な命令(ルールベース)で動くロボットです。
地面に向けられたカラーセンサーは地面の色を読み取ることができます。
(ここでは白だったら100, 黒だったら0, 中間だったら50といった0-100までのスカラー値を返すような使い方をしています。)
このカラーセンサーの値によって、左右へのステアリングに相当する制御量を決める仕組みになっています。
このロボットカーを用意した白黒コースの上でどのような挙動をするかを実験します。
白い地面の上に置いたら右、黒い地面の上に置いたら左、白と黒の境界近くに置いたらトラックを左回りに一周することを観察してもらいました。
「ものまね」号
「ものまね」号は「白右」号の動きから作った訓練データを使って、ディープラーニングで動きを「ものまね」させたものです。
具体的には「白右」号を動かすときに同時にカメラ画像を取得しておき、カメラ画像とその時の制御値の組を訓練データとして保存します。訓練データから作ったモデル(NN)を「ものまね」号で動かし、リアルタイムでカメラ画像から制御量を推論させて動かします。
この「ものまね」号を使って「白右」号と同じようにトラックを周回できることを確認してもらいました。また、訓練データに入っていなかった状況(ここでは完全に黒い地面の上での挙動は訓練データには入れていませんでした)になると「白右」号と「ものまね」号で動きにどのような違いがあるかを観察してもらいました。
「イメトレ」号
こちらもディープラーニングで動くロボットカーです。「イメトレ」とは「イメージトレーニング」の略で、「白右」号から作った訓練データをそのまま使うのではなく、「想像」を加えて訓練させる(データオーギュメンテーションのような処理を入れる)という意味で名付けました。
まず、「白右」号と「ものまね」号を動かしてもらい、トラックを左回りはできるが、右回りはできないことを確認してもらいました。そこで、1台のロボットカーで右回りと左回りの両方ができるようにするにはどうしたらいいだろう?ということを考えてもらいました。
ここで登場するのが「イメトレ」号です。「イメトレ」号では左回りの訓練データを加工して、右回りのデータを水増しすることでトラックを両方の方向に走ることができるように訓練します。
具体的には以下の図のように左回りのカメラ画像を垂直方向を軸としてフリップさせ、その時の動きも左右対象にしたデータを作り出します。こうすることで左回りだけではなく、右回りも走れるモデルを作りました。
子どもたちには実際に「イメトレ」号を動かしてもらい、右回り、左周りの両方向走れることを確認してもらいました。
また、コースにポストイットを貼り付けるなどしてロボットカーにいじわるをしたときに、3種類のロボットカーでどのような挙動の違いが出るのか観察してもらいました。
小学生向けの体験教室は弊社としては初めての試みだったのですが、多くの方に楽しんでいただけたようで大変うれしく思います。ご興味を持っていただいた方は、もしまたこのようなイベントを開く際にご参加頂けると幸いです。