驚きですか、それともショックですか?機械学習アルゴリズムの「高エネルギー」な瞬間を評価する

驚きですか、それともショックですか?機械学習アルゴリズムの「高エネルギー」な瞬間を評価する

編集者注: 「水は船を運ぶこともできるが、転覆させることもできる。」この古いことわざは、誰もが知っていると思います。機械学習に適用すると、多くの利便性をもたらす機械学習アルゴリズムは、注意しないと、予期しない理由で「驚き」をもたらす可能性があります。この現象について論じた論文を原著者が解釈し、Leifeng.com AI Technology Reviewが以下のようにまとめました。

機械学習アルゴリズムは他のコンピュータ プログラムとは大きく異なります。通常のプログラミングでは、人間のプログラマーがコンピューターに何をすべきかを指示します。機械学習では、人間のプログラマーは単に問題を提示するだけで、アルゴリズムは試行錯誤を通じてその問題を解決する方法を見つけ出す必要があります。

これまでのところ、このアプローチは非常に効果的であるように思われます。機械学習アルゴリズムはすでに、顔認識、言語翻訳、金融モデリング、画像認識、広告などで広く使用されています。これまでオンラインになったことがあるなら、おそらく機械学習アルゴリズムとやり取りしたことがあるでしょう。

しかし、必ずしもうまくいくとは限りません。プログラマーは、自分のアルゴリズムは十分にうまく設計されていると考えていても、結果を詳しく調べると、プログラマーが当初考えていた問題とはまったく異なる問題を解決していることに気付くことがあります。たとえば、羊を認識するはずだった画像認識アルゴリズムが、最終的には草を認識するように学習してしまい、何もない緑の草原に羊がいるとラベル付けし続けたのを見たことがあります。

緑豊かな丘陵で草を食む羊の群れ

タグ: 放牧、羊、山、城、馬

機械学習アルゴリズムが予期せぬ方法で問題を解決すると、プログラマーは、確かにイライラすることもあるが、純粋な喜びを感じることが多いと感じます。

驚いたことに、2018年に研究者グループがこれに基づいて興味深い論文を執筆しました。その論文には、「研究者の間で驚きと賞賛を引き起こした」数十の逸話が集められていました。この論文は、原文の参考文献も含めて一読する価値が十分あります。ここでは、私のお気に入りの例をいくつか紹介します。

論文リンク: https://arxiv.org/pdf/1803.03453.pdf

勝つためにはルールを曲げる必要がある!

まず、ロボットの動きに新しいアイデアを提供することも含め、生物をシミュレートすることでさまざまな運動形態がどのように進化したかを研究する長い伝統があります。

羽ばたくことができるのに、なぜ歩くのでしょうか? この例では、シミュレートされたロボットはできるだけ速く前進するはずでしたが、脚を進化させる代わりに、自ら塔を作り上げ、その後倒れてしまいました。ロボットの中には、落下を宙返りに変えて飛距離を稼ぐことを学んだものもあった。

【写真:ロボットが倒れた塔になった】

ただ跳ねればいいのに、なぜジャンプの仕方を学ぶ必要があるのでしょうか? このシミュレートされたロボットのセットは、ジャンプできる形に進化するはずでしたが、プログラマーが最初にジャンプの高さを上部のブロックの高さに設定していたため (これもまた愚かなことですが)、ロボットは非常に背の高い形になってしまいました。この問題を解決するために、プログラマーはジャンプの高さを最初の停止の高さとして定義しようとしました。それに応じて、ロボットは長くて細い脚を進化させ、足を空中に蹴り上げることができるカンカンロボットに変形しました。

[写真: 背の高いロボットはジャンプする代わりに足を空中に伸ばします]

「超エネルギー」のためなら、一切の妥協なしで脅迫します!

シミュレーションロボットが活用することを学ぶエネルギー源は、位置エネルギーだけではありません。現実世界で起こるのと同じように、使用可能なエネルギーが存在すると、何かがそれを利用するために進化することがわかります。

浮動小数点の丸め誤差をエネルギーとして利用:あるシミュレーションでは、ロボットは数学における丸め誤差のルールを学習し、これにより移動中に余分なエネルギーを得られることを発見しました。そこで彼らは素早く動くことを学び、それによって利用できる自由エネルギーを大量に生み出しました。プログラマーたちは、ロボットが驚くべきスピードで泳ぎ始めたときに初めて問題に気づいた。

床との衝突によるエネルギーの捕捉:別のシミュレーションでは、衝突検出ルールを学習したロボットが別の問題を提起しました。ロボットが床に落ち着くと(そもそも時間の操作を学習することでこれが可能になる)、衝突検出システムはロボットが床に落ちるべきではないことを認識し、ロボットを上方に撃ちます。その後、ロボットは床に対して急速に振動し、繰り返し衝突することで余分なエネルギーを生成することを学習しました。

[画像: ロボットは床からの振動を利用して推進力を生み出す]

「衝突」飛行:別のシミュレーションでは、ジャンプするロボットが、飛行を助けるためにさまざまな衝突検出バグを利用することを学習しました。ロボットの部品が互いに接触すると、その力によってロボットが空中に押し上げられます。もしこれが現実に機能するなら、今日の商業飛行は違ったものになるだろう。

「抜け穴」の悪用:コンピュータ ゲームのアルゴリズムは、人間が勝利速度を上げるためによく利用するマトリックスの不具合を見つけるのが非常に得意です。古い Atari ゲーム Q*bert をプレイする機械アルゴリズムは、レベルの終了時に次のレベルに直接移行するのではなく、特定の一連のアクションを実行することを選択するという、これまで発見されていなかったバグを発見しました。これにより、すべてのプラットフォームが急速に点滅し始め、プレーヤーが大量のポイントを獲得できるようになります。

Doom に焦点を当てた別のアルゴリズムも、敵が火の玉を撃つのを防ぐことができる特別な操作を発見しましたが、それはアルゴリズムの Doom の「夢のバージョン」でのみ機能しました。良いニュースは、そのバージョンのゲームをここでプレイできることです。

ゲームリンク: https://worldmodels.github.io

[写真: Q*bert プレイヤーは、大したことではないのに、疑わしいほどのポイントを獲得している]

「大きな目標」:恐ろしい例として、航空母艦に着陸しようとする飛行機に最小の力を加える方法を解くはずだったアルゴリズムが、「大きな」力を加えるとプログラムのメモリがオーバーフローし、非常に「小さな」力として記録されることを発見しました。パイロットは死ぬだろうが、まあ、とりあえず得点してみよう。

破壊もまた解決策だ!

リストソートアルゴリズムのように一見無害なものでも、無害でありながらも邪悪な方法で問題を解決することがあります。

ご存知のとおり、それらは「未ソート」ではありません。たとえば、数値のリストをソートすることを学習するはずのアルゴリズムは、実際には「未ソート」のものを技術的に排除するためにリストを削除することを学習します。

小林丸テストの完了:アルゴリズムは、自身の回答と正解の差を最小限に抑えるはずでしたが、回答を保存して削除する場所を見つけたため、満点を獲得しました。

三目並べで勝つ: 1997 年に、何人かのプログラマーが、可能な限り大きなボード上で三目並べを対戦できるアルゴリズムを構築しました。プログラマーは、特定のアルゴリズム戦略の設計を放棄し、それを独自に開発させることにしました。誰もが驚いたことに、アルゴリズムは突然すべてのゲームに勝ち始めました。アルゴリズムの戦略は、ピースを極端に離して配置することであり、そのため、対戦相手のコンピューターが新しい拡張をシミュレートしようとするたびに、ゲームボードが大きすぎるためにメモリが不足してクラッシュし、ゲームに負けることになります。

結論は

機械学習が問題を解決するとき、導き出される解決策は巧妙なものになる場合もあれば、まったく奇妙なものになる場合もあります。

これが進化の仕組みです。生物学者なら誰でも言うように、生物は常に問題に対する最も奇妙な解決策と、活用できる最も奇妙なエネルギー源を見つけます。我々がコンピューターシミュレーションの中で生きているのではないことを示す最も確かな兆候の一つは、もしそうだとしたら、一部の微生物がその欠陥を利用することを学ぶだろうということだ。

したがって、プログラマーとして、私たちはアルゴリズムが要求された問題を解決し、近道をとらないように細心の注意を払う必要があります。問題をより簡単に解決する別の方法があれば、機械学習がそれを見つける可能性が高いでしょう。

幸いなことに、「すべての人間を殺す」というのは本当に難しいことです。 「信じられないほどおいしいケーキを焼く」ことも問題を解決し、「すべての人間を殺す」よりも簡単であれば、機械学習は間違いなくケーキの側を選択します。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。

<<:  インペリアル・カレッジ:専門医の80%が懸念する心臓リズムデバイスインプラント手術問題をAIで解決する方法

>>:  素晴らしい:テスラの AI ディレクターであり、リー・フェイフェイの弟子であるカルパシーの 33 のニューラル ネットワーク「錬金術」テクニック

ブログ    

推薦する

Python コードを書くことができる人工知能 Kite が Linux のサポートを発表。プログラマーは職を失うことになるのでしょうか?

[[264788]]プログラマーが Python コードを書くという反復的な作業を軽減するのに役立...

物理学と機械学習が出会うとき: 物理学の知識に基づく機械学習のレビュー

物理学情報に基づく機械学習(PIML)とは、物理学(高度に抽象的な自然現象や歴史上の人間の行動)に関...

MySQL インデックスのデータ構造とアルゴリズム: インデックスの実装

MyISAM インデックスの実装MyISAM エンジンはインデックス構造として B+Tree を使用...

Agent4Recが登場!大規模なモデルエージェントは、実際のユーザーインタラクション動作をシミュレートする推奨システムシミュレーターを構成します。

推奨システムの分野では、モデルのオンラインとオフラインのパフォーマンスに大きなギャップがあるという問...

マルチエージェント強化学習の大規模モデルに関する予備的研究

1. 大規模マルチエージェント意思決定モデルの課題現実世界における多くの実際的な問題は、複数のエージ...

3億7500万人の労働者が転職する?人工知能が代替できない分野はどれですか?

人工知能は急速に発展しています。データによると、2016年から2020年にかけて、中国の人工知能市場...

...

CVPR2019で、Baidu Apolloはレベル4自動運転向けの純粋なビジョンソリューションであるApollo Liteを発表しました。

米国現地時間6月16日から20日まで、コンピュータビジョンとパターン認識の分野における世界有数の学術...

人工知能が自立して考えることができるようになると、機械生命体になるのでしょうか?必ずしも

人類が人工知能の時代に突入したことは否定できません。人工知能技術が急速に発展するにつれ、私たちの周り...

...

MAmmoT により、LLM は形式論理と算術演算を学習する能力を備え、数学のジェネラリストになることができます。

数学的推論は、現代の大規模言語モデル (LLM) の重要な機能です。この分野では最近進歩が見られます...

...

...