3月9日-15日に,ゴルフ界で大きな出来事があった. 5ラウンドの人間と機械の戦いがソウルで行われた. この試合の結果,人類は敗れ,世界ゴッホ選手のリー・シシュティンはGoogle社のAIプログラムAlphaGoに1対4で敗れた. では,AlphaGoとは何か? 勝利の鍵はどこにあるのか? ここでは,Monte Carlo Algorithmについて説明します.
新華社によると,AlphaGoプログラムは,米国Google社下属のDeepMindチームが開発した人間対ロボットゴッホーのプログラムで,中国のチェスファンは"
前回の記事では,Googleが開発している機械学習のニューラルネットワークアルゴリズムについて言及しました. AlphaGoは同様の製品です.
中国自動化協会副会長,事務局長王飞跃は,プログラマはゴーチェーの知識を必要とせず,ゴーチェーの基本的なルールを理解する必要があると述べた.AlphaGoの背後には,優れたコンピュータ科学者のグループがあり,正確に言えば,機械学習の専門家である.科学者は神経ネットワークアルゴリズムを使用して,チェス専門家による試合記録をコンピュータに入力し,コンピュータが自分自身と競争し,その過程で絶えず学習する.ある意味では,AlphaGoのチェスは開発者が教えていないが,才能が自習している.
では,AlphaGoが自己学習して才能を持つための鍵はどこにあるのでしょうか? それはモンテカーロアルゴリズムです.
モンテカーロアルゴリズムは?モンテカーロアルゴリズムの説明は, 1000個のリンゴがバスケットの中にあり,目を閉じて一番大きいものを選ぶたびに,選択の制限はありません.それで,目を閉じてランダムに1つ選び,次に最初に比較して,大きなものを残し,またランダムに1つ選び,前回と比較して,再び大きなものを残すことができます.ループは繰り返されます.
つまり,モンテカーロアルゴリズムは,サンプル数が多くなるほど,最適な解決策を見つけるというものです. しかし,それは必ずしも最適であることを保証するものではありません. 10,000個のリンゴがあれば,おそらくもっと大きいものを見つけるでしょう.
グラビアのメディアは,この2つのアルゴリズムを比較すると, 俗説では,もし1つの鍵が1000個あるとすれば,1個しか正しくない.したがって,ランダムに1つの鍵を試すたびに1個ずつ変更する. 試し回数が多くなるほど,最も優れた機会が広がります. しかし,開くまで,間違った鍵は役に立たない.
だからラスベガスのアルゴリズムは可能な限り最良の解決策ですが,必ずしも見つけられないのです. 1000の鍵のうち,鍵を開ける鍵は1つも見つからないと仮定します.
AlphaGoのモンテカーロアルゴリズムゴルフの難しさは,人工知能にとって特に大きい. ゴルフの転落方法があまりにも多く,コンピュータが識別するのが難しい.
王飞跃:まずは,ゴーチェーの可能性はあまりにも多い.また,ゴーチェーの各ステップの可能性は非常に多く,プレイヤーは開始時に19×19=361種類の落とし子を選択する.また,1回 150ラウンドのゴーチェーの可能性は,10170種類まで.そして,規則は非常に微妙で,落とし子選択は,ある程度は経験によって形成された直感に依存する.また,ゴーチェーの落とし子では,コンピュータが当時の落とし子の強みと弱さを区別することは困難である.したがって,ゴーチェーの挑戦は人工知能の
AlphaGoはモンテカーロアルゴリズムだけのものではなく,モンテカーロアルゴリズムのアップグレードである.
AlphaGoはモンテカーロツリー検索アルゴリズムと2つの深層神経ネットワークと協力してチェスを完成させた.リッチストーンとの戦いの前に,Googleはまず,ヒト対
機械の役割は,協働して,より有望なステップを選び,明らかな欠陥を捨て,計算をコンピュータが実行できる範囲で制御することである.これは本質的に人間の棋手と同じである.
中国科学院自動化研究所の研究者イイヤン
ダンガッチはさらに説明する.深層神経ネットワークの最も基本的なユニットは,私たちの脳のような神経細胞であり,多くの層が人間の脳のような神経ネットワークのように接続されている.AlphaGoの二つの神経ネットワークは,戦略ネットワークと評価ネットワークである.
しかし,戦略ネットワークは,自分のステップが良いのか悪いのか分からない.それは,このステップが人間のステップと同じかどうかを知っている.
AlphaGoは,この2つのツールを利用し,現在の状況と将来の状況を判断する人間のチェスプレーヤーと同じように,各ステップの優劣を判断する.モンテカーロツリー検索アルゴリズムを使用して,例えば20ステップの未来を分析すると,どのステップで勝つ可能性が高いかを判断できる.
しかし,Mont Carlo アルゴリズムが AlphaGo の核心の一つであることは間違いない.
2つの小さな実験 モンテカーロアルゴリズムの2つの小さな実験を見てみましょう.
原則:まず,正方形を描き,その内側を円を描き,次にこの正方形内のランダムな描画点を,円の中に位置する点を約Pに設定すると,P=円面/正方形面である. 変数P= (π)Rこの2つの条件は,
ステップ: 1.円の中心を原点に置き,半径をRで円にする.最初の四角形の1/4円面積はPiである.RR/4 2. この1/4円の外接正方形を,座標が ((0,0) ((0,R) ((R,0) ((R,R) とすると,この正方形の面積は R である.R 任意の点 ((X,Y) を取ると0<=X<=Rで0<=Y<=Rになります. 式 X を使ってX+YYRが1/4円内にあるかどうかを判断する. 5. すべての点 (すなわち実験回数) の個数を N とすると,1/4 円内の点 (ステップ 4 に満たす点) の個数を M とすると,
これは,P=M/N,つまり,Pi=4*N/Mです.画像1
M_C ((10000) を実行すると,結果が3.1424になります.
# [-2,2] の範囲でランダムに数を生成し,対応する y を求め,その内の最大が [-2,2] の極大値であると考えられる値を見つけます.画像2
1000回模擬した結果,最大値は185.12292832389875 (非常正確) でした.
面白いですね! (Python言語) プログラミングは,手書きでできます. 微信公众号より転送