実際のニューラルネットワーク:巡回セールスマン問題

こんにちは、ハブユーザーの皆様。

私の投稿「ニューラルネットワークのモデリングボルツマンマシン」の続きで、ニューロダイナミックアルゴリズムの1つの実用的なアプリケーションを共有したいと思います。

巡回セールスマン問題を解決する例の実装。

その本質を少し思い出させてください。

画像





セールスマン(セールスマン(フランス語のcommis voyageur、時代遅れ)は旅行販売の仲介者)の仕事は、これらの都市を通る最も収益性の高いルートを見つけることです。 問題の状況では、ルートの収益性基準(最短、最低、集計基準など)および対応する距離、コストなどのマトリックスが示されます。原則として、ルートは各都市を1回だけ通過する必要があることが示されています。場合、選択はハミルトニアンサイクルから行われます。



この問題を解決するには、100個のニューロンで構成されるネットワークを使用します。

重みを割り当てる場合、ニューラルネットワークが正しいツアーに一致するソリューションを提供することを保証する必要があります。 ボルツマンマシンとホップフィールドネットワークを使用する場合、適切なソリューションを実現するために重みの割り当てが最も重要である理由が明らかになります。 HopfieldとTankは、ボルツマンマシンに重みを割り当てる1つの方法を提案しました。 主なアイデアは、誤ったツアーにペナルティを課すと同時に、ツアーの長さを最小限にすることです。 Aartsのアプローチは、タスクに関連する割り当てを正式に確立することを可能にしますが、重みを割り当てるための他の多くのアプローチはヒューリスティックです。 もちろん、結果のアルゴリズムがうまく機能することを必ずしも意味するわけではないので、Aartsは大規模なタスクのパフォーマンスを改善するために設計されたいくつかの変更を提供します。

画像

図14 15

図(14)および(15)は、各ネットワークノードへの接続を示しています。 それらは2つのタイプに分けられます。 ネットワークがツアーに対応する状態にある場合、これらの重みがツアー都市とp都市、およびp-都市との都市(p + 1)の接続のエネルギー(p-1)のコストを反映するように重みが選択される距離の化合物。

図(14)は、距離接続を示しています。 各ノード(i、p)には2つの隣接する列への抑制接続があり、その重みは3つの都市を接続するコストを反映しています。

図(15)は、排他的接続を示しています。 各ノード(i、p)には、同じ行と列のすべての要素への抑制接続があります。



排他的化合物は、2つの要素が同じ行または列に同時に存在することを禁止します。 排他的接続により、ネットワークはツアーの状態に対応する状態で自身を確立できます。

現在、すべての接続が禁止されているため、しきい値を操作して要素を含めるインセンティブをネットワークに提供する必要があります。 直感的には、図(14)および(15)に示すような配置が望ましい効果をもたらす可能性があることがわかりますが、次の定理は重みを正確に選択する方法を示しています。 以下の一連のパラメーターを考慮してください。









(13)



ここで、dijはi都市とj都市の間の距離、Nは都市の数、eipjqはニューロン(j、q)と(i、p)間のエネルギーです。

図(14)と(15)の各要素は表にあるため、特定の要素は2つの署名で識別されることに注意してください。 θipは要素(i、p)の入力であり、wipjqは要素(j、q)から(i、p)への重みです。

次のような方法で重みと入力を選択します









(14)



それから

1.実現可能性。 ネットワークツアーの正しい状態は、エネルギーのローカル最小値と正確に相関しています

2.合理化。 エネルギー機能は、ツアーの長さに応じて順序を節約します。

証明はかなり簡単で、ツアーの状態が局所的なエネルギーの最小値と正確に相関しているというデモンストレーションに依存しています。 非同期ボルツマンマシンでは、局所エネルギーの最小値は固定小数点に正確に対応します。 このアルゴリズムの欠点は、同期の場合、局所エネルギーの最小値が2つのサイクルに対応することもあり、同期の場合の重みの割り当てが複雑になることです。

巡回セールスマンの問題を解決するとき、ネットワークの機能は次のとおりです。

1.上記のアルゴリズムに従って、タスクを考慮してスケールが計算されます。

2.信号が入力されます

3.ニューロンは、ボルツマン学習アルゴリズムに従って活性化されますが、重みは常に同じです。

4.アクション2と3は、エネルギーがグローバルな最小値になるまで繰り返されます(つまり、n回の計算中に状態は変化しません)。



アルゴリズムの最適化



「シミュレーテッドアニーリング」アルゴリズムを使用して問題を解決し、重み、入力ベクトル、しきい値、および寸法の正しい選択に加えて、パラメーターt(温度)も重要です。

金属はアニールされ、融点を超える温度に加熱され、その後ゆっくりと冷却されます。 高温では、原子は、高いエネルギーと運動の自由度を持ち、あらゆる構成をランダムに受け入れます。 温度が徐々に低下すると、原子エネルギーが低下し、システム全体としては最小エネルギーの構成を採用する傾向があります。 冷却が完了すると、グローバルな最小エネルギーの状態に達します。



固定温度では、システムのエネルギー分布はボルツマン確率係数によって決定されます

これは明らかです。低温でもシステムのエネルギーが高い可能性は限られています。 同様に、火のやかんが沸騰する前に凍る可能性はわずかですが計算された確率があります。

エネルギーの統計的分布により、システムは局所的なエネルギー最小値から抜け出すことができます。 同時に、高エネルギー状態の確率は、温度の低下とともに急速に低下します。 したがって、低温では、低エネルギー状態を占有する傾向が強くなります。



より柔軟な温度変化のために、グラフ全体をユーザーが温度降下率を変更できる間隔に分割しました(最大50回の反復、50から120回の反復、120回以上の反復)。

実際の研究の過程で、次のパターンが導き出されました。

1.高温では、エネルギーはランダムに振る舞いますが、低温ではほぼ決定論的になります。

2.任意の間隔で温度を任意の定数に変更すると、ほとんどの場合、アルゴリズムはすべての都市間のパスを検出しますが、少なくとも最適からはほど遠いです。

3.最も正確な答えを得るには、低温ではパラメーターtの低下率を大幅に減らす必要があります。これは、高温については言えません。 温度が最大の場合、落下速度は結果にほとんど影響しません。

これらの研究の過程で、最も正確な結果(この場合は都市間の最短経路)を達成するために、温度が計算に関係する他のパラメーターよりもはるかに重要であることがわかりました。 これは、計算の最終段階でパラメーターtの低下率を減らすことで実現できます。 使用するネットワークモデルでは、「120回の反復後」の間隔を短くすることをお勧めします。

ネットワークをシミュレートして、当社が開発したプログラムで得られた結果を視覚的に表現するために、最適な結果が得られた温度グラフが提供されます。

画像

神経回路網の活性化の分野でも研究が行われています。 ランダムに選択された個々のニューロンの状態の標準的な変化に加えて、活性化はニューロンのグループによって実行されます(このモデルでは、グループには10個のニューロンが含まれます)。 このグループの各ニューロンは、その状態を反対に変更します。 このアクティベーション方法により、計算プロセスをさらに並列化できるため、適切なソリューションをより迅速に見つけることができます。 計算ステップの数が534から328に削減されました。

したがって、温度グラフを変更することで精度だけでなく、一度に状態を変更するニューロンの数を増やすことで正解を見つける速度について、特定のニューラルネットワークを最適化することができます。



All Articles