ディープな学習を学ぶ大人の玩具にキーボード登場
Amazon Web Servicesは12月2日から6日にわたり、年次イベント「AWS re:Invent」を開催したが、同イベントではここ数年、「AWS DeepRacer」と呼ばれる機械学習を活用して自走するレーシングカーを使った競争が風物詩になっている。1/18スケールの完全自律型レースカーはガジェットとしても大人心をくすぐるところがあり、惚れ込む開発者が続出中だ。
AWS re:Invent 2019ではAWS DeepRacerの次世代モデルが発表されるとともに、このガジェットシリーズに[AWS DeepComposer」と呼ばれる電子キーボードが追加された。発表資料は次のページにまとまっている。
- AWS DeepRacer Update – New Features & New Racing Opportunities|AWS News Blog
- AWS DeepComposer – Compose Music with Generative Machine Learning Models|AWS News Blog
AWS DeepComposerは、機械学習技術を使って独自の音楽データに変換するもの。デフォルトで提供されているディスクリミネータを使えば、ロック、ポップ、ジャズ、クラシックなどに変換可能だし、自分でカスタムしたディスクリミネータを使って独自のジャンル音楽を生成することもできる。
これで、AWSは次の3つの"玩具"をラインナップとしてそろえたことになる。
いずれも面白い技術ではあるが、すぐに工場における画像認識システムとして使えるとか、自動運転技術に転用できるとか、楽曲制作活動に利用できるとかというものではない。まさに「面白くある」ことが目的だと、AWSでAI Devices、Directorを務めるMike Miller氏は説明する。
これらDeepシリーズは開発者がハンズオンすること、つまり、実際にデバイスを使って「遊んで学ぶ」ことを目的に開発されている。それには、使っていて面白く楽しいものである必要がある。まさしく、大人向けの玩具というわけだ。
機械学習は難しいと敬遠されるところもあるが、Deepシリーズを使うと遊びながら機械学習を実体験として経験に落とし込むことができる。機械学習を学ぶために、社内でDeepRacerのレースを開催している企業は世界中で200社を超えており、実際に大人の教材として機能しているという。
AWS DeepLens
Deepシリーズのうち、最初に登場したのがDeepLensだ。機械学習の例としてもわかりやすい。このガジェットはディープラーニング・モデルをローカルで実行することができるという特徴があり、学習させた結果を使ってアクションを起こさせることができる。
例えば、犬と猫の画像を学習させ、DeepLensに写った動物が犬であるか猫であるかを判別させる、といったことができる。それは犬猫に限った話ではなく、ラーメンでもよいし、顔でもよいし、眼鏡でも良い。ディープラーニングとは、データを用意して学習させることで目的の機能を達成することができるという基本的な体験を、DeepLensを通して体感することができる。
AWS DeepRacer
DeepRacerは2番目のDeepシリーズだ。完全自律型の1/18スケールレースカーで、クラウド上の3Dレーシングシミュレータでトレーニングを行い、それを実機にデプロイして物理世界を走行するという遊び方ができる。DeepRacerは強化学習と呼ばれる機械学習を学ぶために使える。
AWS re:Invent 2019では、このDeepRacerの次世代モデルが発表された。その名も「AWS DeepRacer Evo」だ。初代DeepRacerにはカメラが1台設置されているだけだが、DeepRacer Evoではカメラが2台に増える。また新たに、LIDARと呼ばれるリモートセンシングセンサーが上部に配置されるようになる。センサーを増やして入力データを増加させることで、どのように強化学習を活用するのか、開発者の腕が問われるというわけだ。
DeepRacerが憎いのは、DeepRacer Evoへのアップグレードが可能という点にある。DeepRacerはモジュール構造になっており、車体上部のセンサー部分を取り外してDeepRacer Evoのセンサーモジュールをはめることでアップグレードできる仕組みになっている。手元にあるDeepRacerをアップグレードしてDeepRacer Evoへ換装する。これもエンジニアにはたまらないギミックだ。
AWS DeepComposer
そして、今回登場したのがDeepComposerだ。実のところ、DeepComposerはただの電子キーボードで、本体はクラウド側のサービスにある。
DeepComposerの面白さは、敵対的生成ネットワーク(GAN: Genera tive Adversarial Networks)と呼ばれる機械学習の手法を体験できることにある。GANは教師なし学習の1つで、それらしい新たなデータを生成できることから応用の範囲が広く活用が期待されている。
GANではオリジナルデータから新しいデータを生成するジェネレータと、本物のデータから学習させた判別機となるディスクリミネータという2つのネットワークが使われる。ジェネレータによって生成された新しいデータをディスクリミネータに判定を行わせ、その結果をジェネレータにフィードバックする。このように繰り返し学習を進めると、そのうちジェネレータはディスクリミネータがそれらしいと判断するデータを生成するようになる。
DeepComposerもこの仕組みを使っているため、ジェネレータの学習が浅い段階では、正直、ノイズが混じったような不愉快な音楽データが生成される。しかし、学習を進めると、ポストヒップホップというか、流行している音楽のようなデータを生成するようになる。今のところ音楽データは最大30秒までしか処理しない仕組みになっているが、生成には1秒もかからない。1秒でサンプリングされた音楽が生成されるので、体験してみると舌を巻く。
ちなみに、DeepComposerによって新しく生成されたデータの著作権について、Miller氏に尋ねてみた。その国の法律に依存することになるため一概には言えないが、基本的にはDeepComposerによって生成されたデータは、最初のオリジナルデータを生成したユーザーが著作権を持つことになるだろうとのことだ。
これらディープシリーズはSageMakerと連動して利用することができ、統合された環境で開発が行える。学習経過もグラフィカルに確認することが可能で、ワクワク感とともに機械学習を体験できる。