逆説の発想というのはこういうのを言うんですね。
“ドローンを(墜落や衝突なしに)飛ばすためにはどうしたらいいか?”
考える視点を少し変えてみると、こう言い換えることができます。
“ドローンを飛ばす = ドローンをクラッシュ(衝突/墜落)させない”
AIによるドローンの飛行学習
この考え方に基づいてAI(人工知能)を使ってドローンに自動飛行を学ばせようと試みたのはアメリカペンシルバニア州のカーネギーメロン大学(CMU)の研究員チーム。
冒頭で紹介したように、ドローンを飛行させるには、”ドローンを衝突させない“ようにすればよい、と発想を180度転換させてAIを使用したドローンの自動飛行の仕組みを開発したのです。
まずは”ドローンを衝突させない“ようにするために、AIを使用してドローンに”衝突とは何か?“を学ばせます。
用意するのはParrot社のARドローン2.0。
このドローンを20もの異なる室内環境に持ち込み、様々な障害物に衝突させます。
その数なんと11500回!!
ドローンにはカメラが搭載されていますので、障害物に衝突させた時の映像はカメラがしっかりと捉えています。
衝突実験が終了したのち、この衝突映像を2つの映像部分に分けます。
1つは衝突せずに飛行していた部分の映像。もう一つは衝突直前の部分の映像です。
この2つのイメージからなる映像セットを機械学習装置にインプット。
映像を分析させて、まっすぐ進むのがよい考えなのか、悪い考えなのかを学ばせるのです。
11500回の衝突映像を学習装置にインプットすることで、学習装置は次第にまっすぐ進むことの良さと悪さを学習していきます。
まさに多数の衝突映像を基にしたAIによるディープラーニングです。
さて、この11500回にも及ぶ衝突データを分析・学習したドローンは自動飛行のためのアルゴリズムを身につけ、結果狭い通路や障害物が置かれた環境においてもそれらを回避しながら自動飛行をすることができるようになったのです。

ドローンはどうやって衝突を避けるのか?
では一体どのようにしてドローンは衝突することなく狭い通路や障害物の置かれた環境下で飛行をすることができるのでしょうか?
ドローンをコントロールするアルゴリズムは実にシンプルなものだったのです。
ドローンの前面にはカメラが搭載されています。
飛行中に撮影した映像をまずは左側と右側の半分づつに分割します。
そしてもし分割された映像の片方(左側もしくは右側)が、まっすぐ進むよりも良い考えだとアルゴリズムにより判断された場合は、その方向(左側もしくは右側)に曲がる、そうでない場合はそのまま直進するというものです。
思い出してみてください。
ディープラーニングの過程でドローンは11500回にも及ぶ衝突映像を分析学習し、衝突が起きない場合の映像と衝突が起きる直前の映像をすでに知っているのです。
そのため、飛行中にカメラから送られてくる映像を、過去に学習して蓄積された知識と照らし合わせることによって、このまま直進するのが良い考え(=衝突しない)なのか悪い考え(=衝突する)なのかを判断し、直進する、曲がるといった行動を自律的に行うことができるのです。
いかがでしょう。
ここまで読み進んでくれた方であれば、理屈は理解できたであろうと思います。
それでは実際にAIによるドローンの自動飛行の様子をご覧ください!!
今回紹介した取り組みは下記のURLから実際の論文を参照可能です。(英語)
<カーネギーメロン大学研究員によるドローンの自動飛行についての論文>
Learning to Fly by Crashing
https://arxiv.org/pdf/1704.05588.pdf
https://www.digitaltrends.com/cool-tech/crashing-drones-teach-fly-better/amp/