機械学習とロボティクスを始めるには

機械学習とロボティクスを始めるには
機械学習とロボティクスを始めるには

ライフハッカーのロゴ

  • Bluesky ページを見る (新しいタブで開きます)
  • Instagramページを見る(新しいタブで開きます)
  • Facebookページで見る(新しいタブで開きます)
  • YouTubeページを見る(新しいタブで開きます)
  • Twitterページを見る(新しいタブで開きます)
  • コピーしました

目次


「怖気付いてしまうのはとても簡単です」と、カメラを使って物体を分析し、操作するロボット義手「smartARM」の共同開発者であるロボット工学エンジニア、ハマヤル・チョードリー氏は語る。「プロジェクトのアイデアは思いついたものの、『これについて何も知らない』と思ってしまうのです」。チョードリー氏と、smartARMの機械学習アルゴリズムをプログラミングしたパートナーのサミン・カーン氏が、コードライブラリ、大学の課題、スポンサー付きハッカソンなどを活用して、20歳にして意義のあるプロジェクトを見つけ、実行した経緯を以下に紹介する。

流れを渡る

smartARMは、機械学習とメカトロニクス(ロボティクス)という2つの分野を統合して機能します。手のひらに搭載されたカメラが物体を検知し、アルゴリズムが映像を解析(コンピュータービジョンと呼ばれます)して、ロボットハンドに物体の操作方法を指示します。アルゴリズムは試行ごとに学習するため、ロボットアームは時間をかけて訓練することができます。

これは、ユーザーの神経終末への直接接続に依存する現在市販されているロボット義肢に比べて大きな利点です。チョードリー氏によると、5本の指を制御するには、医師は5つの異なる神経終末を見つけ、それぞれの指に合わせて調整する必要があります。患者は、これらの神経を皮膚に近づけるための手術、または個々の筋肉を訓練する必要があります。こうした作業の一部を省略することで、smartARMのような技術はロボット義肢のコストを劇的に削減し、より多くの患者が利用できるようになります。現在のロボット義肢は最大10万ドルかかることもあるとチョードリー氏は言います。「確かに高度な技術ですが、一体誰が購入できるのでしょうか?」

チョードリー氏とカーン氏の知る限り、これは義手におけるコンピュータービジョンの応用例としては初となる。カーン氏は、ハードウェアプロジェクトと機械学習の統合をさらに推進する必要があると感じている。昨年まで義手の経験が全くなかった二人の学生が、これほど高度な分野でこれほどの進歩を遂げたのであれば、これらの技術を組み合わせることで、未開拓の可能性が大いに秘められていると言えるだろう。分野を超えた連携によって、新たな応用例が見つかる可能性ははるかに高まるだろう。

キャリアや教育の段階によって制限されることはまったくありません。

課題を取得する

チョードリーとカーンがコラボレーションするきっかけとなったのは、ハッカソンだった。二人の大学生は中学校で一緒に過ごしていたが、ハッカソンで偶然出会った。ハッカソンとは、人々が技術系のプロジェクトを立ち上げ、賞金を競い合うイベントだ。

チョードリー氏とカーン氏がsmartARMの開発を始めたのは、こうしたハッカソンの一つでした。多くのハッカソンと同様に、このハッカソンにもスポンサーがつきました。GoogleとMicrosoftが自社の技術を紹介し、参加者にその使い方を丁寧に説明することで、参加者が興味深い活用方法を見つけてくれることを期待していました。smartARMは、Microsoft Azureのコンピュータービジョン、機械学習、クラウドストレージ技術を活用しています。チョードリー氏とカーン氏はハッカソンで優勝し、その後も次々と大きなイベントで優勝を重ね、最終的には賞金と助成金を獲得し、Microsoftの国際イベントImagine CupでMicrosoft CEOのサティア・ナデラ氏とのメンタリングセッションを受ける機会を得ました。

チョードリーとカーンは豊富な知識を携えてハッカソンに参加した。しかし、その多くは学部課程で得た知識ではなく、二人とも教授の研究プロジェクトをボランティアで手伝っていた経験から得たものだ。チョードリーによると、こうした研究では教授が学生に目標を与えることが多く、「そして、それを達成できるかどうかはほぼ学生次第」だという。この経験から、彼は自立し、自分のプロジェクトに取り組むことを学んだという。

他のテクノロジー専門家がLifehackerに語っているように、コンピュータースキルを習得する最良の方法は、プロジェクトで実際に使ってみることです。コーディングなどのスキルは、特定の目標を達成することが目的なので、自分が伸ばそうとしているスキルを活かせる興味深い目標を見つけましょう。「本当にやりたいプロジェクトを見つけてください」とチョードリー氏は言います。「私にとって、それはなぜ、つまり、なぜ今、物事がこのように行われているのかを問うことです。」もしプロジェクトが自分の興味に合致し、ワクワクするものなら、それは自分のニーズではなく、誰かのニーズを満たすことになるかもしれません。smartARMの開発にあたり、チョードリー氏とカーン氏は、切断者の方々に彼らの経験とニーズについて話を聞きました。

あなたをワクワクさせるようなプロジェクトは、一見、難しそうに思えるかもしれません。不可能に思えるかもしれません。しかし、真に理解するには、それを細かく分解する必要があります。

プロジェクトを細分化する

チョードリー氏は複雑なプロジェクトをレゴブロックの組み立てに例えます。どんなに複雑な構造物でも、小さなブロックを積み重ねただけのものです。しかも、そのブロックを自分で作る必要はありません。

これまでのところどう思いますか?

カーン氏は、Pythonでデータ分析を行うためのオープンソースのツールセットであるPandas Pythonライブラリを例に挙げています。パターン認識と適応に重点を置いているため、機械学習アルゴリズムは驚くほど汎用性が高く、様々なアプリケーションで活用できます。そのため、あらゆる種類の既存コードをプロジェクトに適用できる可能性があります。

独自のニューラルネットワークをトレーニングする方法

もちろん、まずはコーディングを学ぶ必要があります。「キャリアや教育の進捗状況に縛られることは絶対にありません」とチョードリー氏は言います。基礎を学ぶには、ブートキャンプに参加するか、独学で学ぶことができます。チョードリー氏はCourseraの無料講座やチュートリアルを推奨しています。

ロボット工学については、チョードリー氏はArduinoから始めることを勧めています。Arduinoはオープンソースのプラットフォームであり、あらゆる種類のロボットを制御できるプログラム可能な電子ボードです。Arduino互換のキットはAmazonやホビーショップで35ドルで購入できます。チョードリー氏は、Arduinoを使って簡単なモーターを制御する方法を学ぶことからロボット工学の勉強を始めました。

例えば、ロボットアームを作りたいとしましょう、と彼は言います。まず、必要な材料を確認します。Arduino、モーター、そして手です。これらは3つの小さなプロジェクトです。手の部品を3Dプリントできますか?Arduinoでモーターをプログラムし、部品同士を接続できますか?Arduinoにカメラを接続し、既存の技術で構築した機械学習アルゴリズムを組み込むことができますか?まだできなくても、少なくとも何を学ぶ必要があるかはわかります。これで、smartARMの非常に粗削りなバージョンが手に入り、それを微調整して、洗練されたプロトタイプを完成させることができます。

チョードリー氏とカーン氏はまさにその状況にいます。彼らはsmartARMを市場投入可能な製品に開発したいと考えていますが、道のりはまだ長いです。このプロジェクトが本当に市場のニーズに合っているのか、それともこれまで誰もこのアプローチを採用しなかったことには何か正当な理由があるのか​​、さらに調査する必要があります。「最悪なのは、このプロジェクトを進めてみて、人々にとって適切な製品ではないと判明することです」とカーン氏は言います。テクノロジーの歴史には、有望ながらも競合技術に勝てなかった発明が数多く存在します。しかし、成功したイノベーションはすべて、ある時点で、手元にある材料を寄せ集めて作り上げたプロジェクトだったのです。

毎日のニュースレター すべてをより良くする準備はできていますか?

ジョーダン・カルホーンの肖像 ジョーダン・カルフーン 編集長

Jordan とチームから毎日のヒント、コツ、技術ガイドを入手してください。

毎日のニュースレター すべてをより良くする準備はできていますか? Jordan とチームからのヒント、コツ、技術ガイドを毎日お届けします。

次の記事へスクロールしてください