フィード・フォワードによるアクティブ状態だけがリージョン内の他のセルに接続され、 これにより予測は常に現在の入力(及び文脈)に基づいて行われる。 予測に基づいて予測が行われることは望ましくない。 ry そうなると、数回処理を繰り返しただけでリージョン内のほとんどすべてのセルが予測状態 ry
リージョンの出力はすべてのセルの状態を表すベクトルである。 もし階層構造の次のリージョンがあるなら、このベクトルがその入力となる。 この出力はアクティブ状態と予測状態の OR である。 アクティブ状態と予測状態を結合する ry 出力は入力よりも安定する(ゆっくりと変化する)。 このような安定性はリージョンの推論における重要な特性である。 005449垢版2017/07/23(日) 08:30:42.83ID:0TlGOkHFhttp://rio2016.2ch.net/test/read.cgi/future/1449403261/970055yamaguti~貸垢版2017/07/23(日) 08:31:44.51ID:0TlGOkHF Page 64
参考文献
ry 。ニューロサイエンス ry 膨大で、全般的知識を得るには多くの異なる文献 ry 。新しい発見は学術ジャーナル ry 、読み解くのが難しく大学関係者でない限り ry
この付録で ry 2 冊 ry
Stuart, Greg, Spruston, Nelson, Hausser, Michael, Dendrites, second edition (New York: Oxford University Press, 2008)
この本は樹状突起に関するあらゆる ry 16 章では HTM 大脳皮質性学習アルゴリズムが用いている樹状突起セグメントの 非線形な性質 ry この章は、この分野で数多くの考察をした Bartlett Mel によって書 ry
Mountcastle, Vernon B. Perceptual Neuroscience: The Cerebral Cortex (Cambridge, Mass.: Harvard University Press, 1998)
この本は新皮質に関するあらゆることに関する良い入門 ry 細胞の種類とその接続関係 ry 樹状突起の性質 ry 得るには古 ry 、読者は皮質性ニューロンに関するすぐれた見識 ry 0056yamaguti~貸垢版2017/07/30(日) 10:26:53.69ID:4w4cNgfm Page 65
付録 B: 新皮質の層と HTM リージョンの比較
ここでは HTM リージョンと生体新皮質のリージョンの間の関係 ry
特に、HTM 大脳皮質性学習アルゴリズム、 及びそのカラムとセルが、新皮質の層やカラム構造とどのような関係 ry 。新皮質の「層」の概念やそれが HTM の層とどう関係 ry 、多くの人が困惑 ry 。本稿がこの混乱を解決し、また HTM 大脳皮質性学習アルゴリズムの生物学的基礎 ry
新皮質の神経回路網
人の新皮質は面積約 1,000cm2、厚さ 2mm のニューロンの皮である。 ry 食事に使うナプキンの布 ry 、新皮質の面積と厚さのちょうど良い近似 ry 。新皮質は十数種類の機能的なリージョン ry 、そのいくつかは視覚に関係し、あるいは聴覚、言語などに ry 。顕微鏡で見ると、異なるリージョンの物理的な特徴は驚くほど良く似ている。
に 2 つに枝分かれする。枝の一つは主に水平に伸び、他の枝は主に垂直 ry 。水平の方の枝は同じ層や近くの層の他のセルと多数の接続 ry 。 ry 新皮質の断片 ry 。多くの軸索がこの画像で示された部分から出たり入ったりしているので、 軸索は画像に見られるものよりも長い。 新皮質の 1mm の立方体に含まれる軸索や樹状突起の総延長は 2km から 4km ry
画像の中央部はニューロンの本体だけを示す染色法で、樹状突起や軸索は見えない。 ニューロンの大きさや密度が層によって変化する様子 ry 。この画像ではカラムは少ししか分からない。第 1 層にいくつかのニューロン ry の数はあまりに少ないので、この層はやはりセルのない層 ry 。ニューロ科学者は新皮質の 1mm の立方体ごとに約100,000 個程度のニューロン ry
画像の左側はほんのわずかな数のニューロンの本体、軸索、樹状突起だけを示す染色法 ry 。異なる層や異なるセルごとに、樹状突起の「主軸」の大きさは異なっている様子 ry 。いくつかの「先端樹状突起」72 ry は細胞体からそびえ立ち、他の層と接続 ry 。先端樹状突起が存在するか否か、及びその接続先は各層ごとに特徴 ry
まとめると、新皮質の層とカラム構造73は ry 染色され顕微鏡で観察 ry 明らか ry 006160垢版2017/09/10(日) 18:08:33.13ID:vLQGrlPG リージョンの違いによる層のバリエーション 新皮質のリージョンの違いによって層の厚さにバリエ ry 、層の数についても多少違う。 このバリエーションはどの動物を研究するかに依存し、 どのリージョンを観察するかにも依存し、また観察した人によっても違う。 例えば上記の画像では、第 2 層と第 3 層は容易に識別できるが一般的にはそうではない。 いくつかの科学者 ry この 2 つの層を識別できないと報告 ry まとめて「第 2/3 層」 ry 。他の科学者は逆の方向に向かい、例えば 3A と 3B のようなサブレイヤを定義 ry
科学者が針を使って、何がニューロンをアクティブにするのかを見てみると、 異なる層を横断する垂直方向に揃った複数のニューロンがだいたい同じ入力に反応 ry
この図は、網膜からの情報を処理する最初の皮質性リージョンである V1 の、 セルのいくつかの応答特性 ry
最初の発見の一つは、V1 のほとんどのセルは 網膜の特定の領域で、異なる角度の線や縁に反応 ry 。カラム状に垂直に配列された複数のセルすべてが、同じ角度の縁に反応する。 図を注意深く見れば、各区画の最上部に異なる角度の小さな線が描かれている ry 。これらの線はその場所のセルがどの角度の線に反応するかを示している。 垂直に配列された複数のセル(うすい垂直の縞模様の一つに含まれる)は 同じ角度の線に反応する。
新皮質の一般的な規則は、角度と眼球優位性のようにいくつかの異なる応答特性が 互いに重ね合わさっているということである。皮質の表面を水平に移動してゆくに従って、 セルから出力される応答特性の組み合わせは変化する。 しかしながら、垂直に配列されたニューロンは同じ応答特性の組み合わせを共有している。 聴覚・視覚・体性感覚野についてはこのような垂直の配列になっている。 新皮質のあらゆる場所でそう ry 、全部ではなく多くの部分について言うならそれは正しい ry
ミニカラム 新皮質の最小のカラム構造はミニカラムである。ミニカラムは直径約 30μm で、 セルを持つ 5 つの層全体に及ぶ 80-100 個のニューロンが含まれている。 新皮質全体はミニカラムから構成されている。小さなスパゲッティのかけらを端同士を 積み重ねたものを思い浮かべるとよい。ミニカラムの間には セルが少ししかないわずかなすきま ry 、染色された画像でそれを見 ry
抑制ニューロンがミニカラムを定義する本質的な役割を果たしている。 ry 画像や図に示されていないが、抑制ニューロンはミニカラムの間のまっすぐな線に沿って 軸索を送っており、ミニカラムの一部を物理的に分離している。抑制ニューロンはまた、 ミニカラム中のニューロンが同じ入力に反応するよう強制することに役立っていると ry
ミニカラムは HTM 大脳皮質性学習アルゴリズムで用いられているカラムの原型である。
カラム反応の例外 カラム反応の例外が一つあって、それは HTM 大脳皮質性学習アルゴリズムにも関係する。 科学者は通常、実験動物に単純な刺激を与えることでセルが何に反応するのかを発見する。 例えば、動物の視覚空間の小さな部分に 1 つの線を見せて、V1 のセルの応答特性を調べ ry 。単純な入力を用いると、科学者はセルが常に同じ入力に反応することを発見するかも ry 。しかしながら、もしその単純な入力が自然な場面の動画像に組み込まれたなら、 セルはもっと選択的になる。あるセルが高い信頼性で独立した垂線に反応するとしても、 その垂線が自然な場面の複雑な動画像に組み込まれた場合は必ずしも反応するとは ry 006564垢版2017/09/10(日) 21:12:20.16ID:vLQGrlPG HTM 大脳皮質性学習アルゴリズムでは カラム中のすべての HTM セルが同じフィード・フォワード応答特性を共有しているが、 時間的なシーケンスを学習すると HTM カラムの 1 つのセルだけがアクティブになる。 このメカニズムは可変長シーケンスを表現する手段であり、 ニューロンについて先ほど説明した特徴と似ている。 文脈を伴わない単純な入力はカラム中のすべてのセルをアクティブにする。 同じ入力でも、学習したシーケンスに含まれるときは 1 つのセルだけがアクティブになる。 ミニカラム中で一度に 1 つのニューロンだけがアクティブになると提唱しているわけではない。 HTM ry 、予期しない入力に対してはカラム中のある層のすべてのニューロンがアクティブ ry 、予期した入力に対してはその一部のニューロンがアクティブ ry 0066yamaguti~貸垢版2017/09/10(日) 21:48:56.38ID:vLQGrlPG Page 71
なぜ層とカラムがあるのか?
新皮質になぜ層があり、なぜカラムがあるのか、はっきりしたことは誰も知らない。 HTM 大脳皮質性学習アルゴリズムは、カラム状に構成したセルの層が 可変長の状態遷移を記憶する大容量メモリとなりうることを示した。 もっと単純に言えば、セルの層はたくさんのシーケンスを学習できる ry 。同じフィード・フォワード反応を共有するセルのカラムは可変長の遷移を学習 ry の鍵 ry
この仮説はなぜカラムが必要なのかを説明しているが、しかし 5 つの層については ry ? もし 1 層の皮質でシーケンスを学習して予測できるのであれば、なぜ ry 5 つ ry ?
我々が提唱するのは、新皮質に観察される異なる層はすべて同じ基本メカニズムを用いて シーケンスを学習しているが、各層で学習したシーケンスは異なる方法で使用 ry 。これについて我々が理解していないことはたくさん ry 考えを述べることはできる。 その前に、各層のニューロンが何に接続しているのかを述べる ry
上の図は 2 つの新皮質のリージョンとそれらの間の主要な接続関係 ry このような接続は新皮質の中の互いに関係し合う 2 つのリージョンで一般によく見 ry 。左の箱は、右の(箱の)リージョンよりも低い階層構造にある皮質性のリージョン を表しているので、フィード・フォワード情報は図の左から右へと流れる。 各リージョンは層に分け ry 2 層と第 3 層は一緒にして第 2/3 層として表されている。 0067yamaguti~貸垢版2017/09/10(日) 21:56:13.71ID:vLQGrlPG Page 72
色のついた線は異なる層からのニューロンの出力 ry その層のニューロンから出ている軸索の束である。軸索はすぐに 2 つに分か ry 一つの枝は主にそれと同じ層の中で、リージョン内で水平方向に広がる。 よって各層のすべてのセルは相互によく接続し合っている。 ニューロンと水平方向の接続は図に示されていない。
第5層 最後のフィード・フォワード層 ry 3 層と似ているが 3 つの違い ry 。第一の違いは第 5 層が時間の概念を付加 ry 。第 3 層は次に「何」が起こるかを予測するが、それが「いつ」起こるかを教えてくれない。 しかしながら、話し言葉 ry 音の間の相対的なタイミングが重要 ry 運動動作 ry 筋肉の活性化のタイミング ry 。我々は、第 5 層のニューロンが期待した時刻の後にだけ次の状態を予測すると提唱する。 この仮説を裏付ける生物学上の詳細がいくつかある。一つは第 5 層が新皮質の運動出力層 ry 。いま一つは第 5 層が視床の一部から発して第 1 層から来る入力(図に示されていない) を受け取るということである。我々はまた、この情報こそが時間をコード化したものであり、 視床を経由して第 1 層に入力される多くのセル(図に示されていない) にこの情報が分散されると提唱する。
ry 第三の違いは図から見て取れる。 第 5 層の出力は常に皮質下部の運動中枢に向かい、 そのフィード・フォワード・パスは視床の門を通る。 第 5 層の出力は、あるときは次のリージョンへと通過し、またあるときは止められる。 我々(及び他の人)はこの門の働きが潜在的注意82に関係すると提唱する (潜在的注意は運動行動を伴わずに貴方が入力に注目することである)。 007271垢版2017/09/10(日) 22:24:24.96ID:vLQGrlPG まとめると、第 5 層は特定のタイミング、注意、運動行動を結びつける。 これらが互いにどのように関わりあうかについては多くの謎 ry 。 ry ポイントは、HTM 大脳皮質性学習アルゴリズムのバリエーションが 特定のタイミングを容易に組み入れることができ、別々の皮質の層を結合することができる ry
第2層と第6層 第 6 層は下位のリージョンへフィードバックする軸索の起点である。 第 2 層についてはほとんど知られていない。 ry 2 層が第 3 層と比べて ユニークな点があるかどうかですら、しばしば議論 ry いまのところ ry 言えることはほとんどないが、他のすべての層と同様に ry 層はたくさんの水平方向の接続パターンを持ち、カラム単位で反応する特徴があること
空間プーリング (Spatial Pooling) 入力に対して疎分散表現を計算する処理。空間プーリングの一つの特徴は、 オーバラップする入力パターンを同じ疎分散表現に対応付けられることである。 サブサンプリング (Sub-Sampling) 大きなパターンのうちのほんのわずかなアクティブビットをマッチングするだけで、 大きな分散パターンを認識すること シナプス (Synapse) 学習によって形成されるセル(Cells)間の接続 時間プーリング (Temporal Pooling) 入力パターンのシーケンスの表現を計算する処理。結果の表現は入力よりも安定 ry トップダウン (Top-Down) フィードバック(Feedback)の同義語 可変長予測 (Variable Order Prediction) それが依存する直前の文脈の量が変化するような予測。一次予測(First Order Prediction)参照。 直前の文脈を維持管理するためのメモリを必要に応じて割り当てるため、「可変長」と呼ばれる。 そのため ry 、指数関数的 ry メモリ ry なく、文脈を時間的に後戻りすることができる。 0083yamaguti~貸垢版2017/09/24(日) 19:46:14.55ID:ma5WYMpw?2BP(0) >492 :オーバーテクナナシー:2017/09/23(土) 19:54:47.75 ID:vY4r2i0B > 脳の大脳新皮質の学習は100ミリ秒未来の予測と実際との誤差を教師信号として学習される説を提案。 > 視床枕が予測を映し出すスクリーンの役目を担い、α波に従って予測と実際を切り替えその誤差が各領域に伝搬され逆誤差伝搬法と同じ更新がされる >http://arxiv.org/abs/1709.04654 >http://mobile.twitter.com/hillbig/status/911091101024399362
http://translate.google.jp/ コーネル大学 図書館 定量的生物学>ニューロンと認知 タイトル:深い予測学習:3つのビジュアルストリームの包括的なモデル 著者: Randall C. O'Reilly 、 Dean R. Wyatte 、 John Rohrlich
要旨:新皮質 ry 高次認知能力の基礎を学び、どのように発展 ry ? レベル間の明確な理論的連続性を持ち、生物学的、計算的、および認知的なレベルにわたる 包括 ry 提示し、各レベルでの広範なデータによって ry 一貫した答えを提供する。 学習は、感覚が100msec( ry )間隔 ry 、予測精度 ry シナプスの重みを ry に基づいている。 視床の脊髄核は、複数の脳領域からの深層6大脳皮質の入力および抽象化のレベルによって、 予測 ry 投影スクリーン ry 。層5内因性バーストニュ ry の疎駆動入力は標的信号 ry 予測との間の時間差は皮質全体に反映され、 詳細な生物物理学 ry の局所活性化信号のみを用いて誤差逆伝播に近似するシナプス変化を引き起こすモデル。 ビジョンでは、予測学習には、 ry 、3つの経路(What、Where、W ry e)の ry と解剖学 ry 必要 ry 。低レベルの感覚 ry 予測のために; ry 抽象化の学習を促進する分離可能な因子の抽出 ry ために、 集合的な低レベルの予測誤差を漸進的かつ機敏に分割しなけ ry モデルは、 ry ムービーから100種類のオブジェクトを体系的に不変なオブジェクト表現で構成し、 幅広いデータを扱い、多くのテスト可能な予測を
> Google 翻訳 > > Saturday, June 23, 2018 > 2018年6月23日土曜日 > Google Deep Mind's Bogus AI Patent Filings > Google Deep Mindの●のAI特許提出 > : >ry Google Deep Mind has filed a bunch of patent applications for well-known ry , all or nearly all of which certainly are not their original inventions. >ry 、 Google Deep Mindがよく知られている ry の特許申請 ry 。そのほとんどまたはすべてが確かにオリジナルの発明ではありませ : 0101yamaguti垢版2018/06/29(金) 12:49:01.96ID:kHBj2QJM?2BP(0) >>100 > , for instance: > 。たとえば、 : > 溺ethods, systems, and apparatus, including computer programs encoded on a computer storage medium, for environment simulation. > "環境シミュレーションのためのコンピュータ記憶媒体上にコード化されたコンピュータプログラムを含む方法、システム、および装置。 > In one aspect, a system comprises a recurrent neural network configured to, at each of a plurality of time steps, receive a preceding action for a preceding time step, > update a preceding initial hidden state of the recurrent neural network from the preceding time step using the preceding action, > update a preceding cell state of the recurrent neural network from the preceding time step using at least the initial hidden state for the time step, > and determine a final hidden state for the time step using the cell state for the time step. > 一態様では、システムは、複数の時間ステップのそれぞれにおいて、先行する時間ステップのための先行するアクションを受信し、 ? > 前の時間ステップから前の時間ステップから先行 ry 備える。 前の時間ステップから先行する初期の隠れた状態を更新するように構成されたリカレントニューラルネットワークを備える。 > 時間ステップのための少なくとも初期隠れ状態を使用して前の時間ステップからリカレントニューラルネットワークの先行セル状態を更新し、 > 時間ステップのセル状態を使用して時間ステップの最終隠れ状態を決定する。 > The system further comprises a decoder neural network configured to > receive the final hidden state for the time step and process the final hidden state to generate a predicted observation characterizing a predicted state of the environment at the time step.” > システムは、時間ステップの最終隠れ状態を受信し、最終隠れ状態を処理して、時間ステップで環境の予測状態を特徴付ける予測観察を生成する ように構成されたデコーダニューラルネットワークをさらに備える。 : > Posted by Benjamin Goertzel > 投稿者 ベンジャミンGoertzel 0102yamaguti垢版2018/06/29(金) 13:00:17.27ID:kHBj2QJM?2BP(0) >>100-101 >174 yamaguti 180527 1946 36TMfdUR? > >152-173 > http://rio2016.2ch.net/test/read.cgi/future/1504872499/116-117# Hannyou AI/AL / HTM Kapuseru # SoBunsan NN > http://rio2016.2ch.net/test/read.cgi/future/1504872499/138-139# Hannyou AI/AL / HTM # YuugouGijutu <-> NN TuijuuYosoku > http://rio2016.2ch.net/test/read.cgi/future/1504872499/136-137# HTM Kapuseru
>535 yamaguti~貸 171018 2218 3to/BWop? > >525 > × 補助なし深層学習ではまともに時間データを扱えないので強い AL 実現絶望的 > ○ 補助なし深層学習ではリージョン化向きとは言えないので強い AL 実現コスト問題 :
>160 : 155 180204 0533 XY7pbVXo? \>178 yamaguti 180528 1227 x4HB0Rxw? > >152 >155 >149-150 : > http://rio2016.5ch.net/test/read.cgi/future/1517369897/29#13# HTM ZenHitei >http://rio2016.2ch.net/test/read.cgi/future/1481407726/6-8## HTM > http://rio2016.2ch.net/test/read.cgi/future/1511446164/36-89#-#819-#831-837#868##823-826# HTM Ronbun 0103yamaguti垢版2018/06/29(金) 15:41:12.77ID:kHBj2QJM?2BP(0) >924 180629 0633 NiYm+KPI > 特化型AIをブロックチェーンでつないで汎用型AIを作る=SingularityNet >http://aishinbun.com/comment/20180627/1591/ > 画像認識AI、自然言語解析AI、音声認識AI、翻訳AI、文書生成AI・・・。特化型AIはものすごい勢いで進化 > > 香港在住のAI技術者Ben Goertzel氏率いるSingularityNetは、こうした特化型AIを結びつけることで汎用型AIを構築できるプラットフォームの開発 > > プラットフォーム ry 、ベースになるのはブロックチェーン > > SinularityNetでは、DApp(非中央集権型アプリ)に必要なAI技術の提供を受けることのできるマーケットプレイスの開発 ry >。マーケットプレイスには特化型AIの開発者が開発した特化型AIが展示され、DAppの開発者が必要なAIの機能を購入できる > > とはいっても人間がAI機能の売買をするのではなく、 ry スマートコントラクトと呼ばれる仕様書兼契約書 ry 、DAppと各種AIが自動的に結びつく形 > > ry トークン機能によって、機能を提供したAIに対してDAppから仮想通貨が支払われ > > 特化型AIを組み合わせることによって汎用型AIを作ろうという動きは世界中あちらこちらで進んでいるが、 > マーケットプレイスを作り仮想通貨というインセンティブ ry 加速 ry SingularityNetのやり方 > > 新しい特化型AIが次々と開発され、 ry マーケットプレイスを通じて自由自在に結びつき、これまでにないような機能やサービス > >汎用型AI ry 、こういう仕組 ry 、意外と早く実現するかも > > SingularityNetはこれまでに何度かニュース > > 昨年末に同社がICOしたところ、1分間で40億円を調達。大きな話題 > > 人間型ロボットSophiaを開発したことでも有名 0104ウルトラスーパーハイパーフォーマットスパーダモンバーストモード垢版2018/08/06(月) 04:22:09.16ID:mUbSQdkd 拙者はアンドロモンが好きだよ、拙者はアンドロモンが御好みだよ、拙者はアンドロモンが大好きだよ、拙者はアンドロモンを愛好するよ、拙者はアンドロモンを嗜好するよ、拙者はアンドロモンは友好するよ 寧ろ逆にアンドロモンを大切にするよ、他に別にアンドロモンを大事にするよ、例え仮に其れでもアンドロモンを重視するよ、特にアンドロモンを尊敬するよ、もしもアンドロモンを褒めるよ 十中八九アンドロモンを希望するよ、森羅万象アンドロモンを渇望するよ、無我夢中アンドロモンを要望するよ、五里霧中アンドロモンを切望するよ、天上天下アンドロモンを熱望するよ、是非ともアンドロモンを祈願するよ 100%アンドロモンに決定だよ、十割アンドロモンに限定だよ、確実にアンドロモンに指定だよ、絶対にアンドロモンに認定だよ、必ずアンドロモンに確定だよ 当然アンドロモンは斬新奇抜だよ、無論アンドロモンは新機軸だよ、勿論アンドロモンは独創的だよ、一応アンドロモンは個性的だよ、多分アンドロモンは画期的だよ アンドロモンは強いよ、アンドロモンは強力だよ、アンドロモンは強大だよ、アンドロモンは強者だよ、アンドロモンは強豪だよ、アンドロモンは強剛だよ、アンドロモンは強靭だよ、アンドロモンは強烈だよ アンドロモンの勝ち、アンドロモンの勝利、アンドロモンの大勝利、アンドロモンの完全勝利、アンドロモンの圧勝、アンドロモンの楽勝 アンドロモンの連勝、アンドロモンの優勝、アンドロモンの戦勝、アンドロモンの制勝 アンドロモンの奇勝、アンドロモンの必勝、アンドロモンの全勝、アンドロモンの完勝 0105yamaguti垢版2018/08/12(日) 18:51:21.66ID:ltAhnLdz?2BP(0) Google 翻訳
抽象- In-OrderスカラーRISCアーキテクチャは、20年にわたってFPGAソフトプロセッサ設計の支配的 ry ? ry 順序外スーパスカラ ry 。 従来のアウトオブオーダスーパスカラ実装は、競合領域または絶対性能を示さなかった。 本稿では、EDGE(Explicit Data Graph Execution)命令セットアーキテクチャを利用して、高速かつエリア効率の優れた順序外のスーパースカラソフトプロセッサを構築 ry 。 EDGEマイクロアーキテクチャ、特にそのデータフロー命令スケジューラを慎重にマッピングすることにより、アウトオブオーダFPGA ry 実証します。 2つのスケジューラ設計の選択肢が比較されます。 索引用語 - 明示的データグラフ実行(EDGE); ハイブリッドフォンノイマンデータフロー; FPGAソフトプロセッサ 0106>>105垢版2018/08/12(日) 19:02:06.08ID:ltAhnLdz?2BP(0) 1. 前書き
設計の生産性は、リコンフィギュラブル ry の課題 ry ? ワークロードをゲートに移植し、 ry 。 ワークロードをゲートに移し、10^2〜10^4秒のビットストリーム再設計の設計反復に耐えるのは高価です。 ソフトプロセッサアレイオーバーレイは、これらのコストを軽減 ry ? 高価な初期ポートは、ソフトプロセッサーを対象 ry 。 コストがかかる最初の移植は、ソフトプロセッサを対象とした単純なクロスコンパイルとなります。ほとんどのデザインターンは、迅速な再コンパイルです。 ? ry 、または相互接続 として公開されているカスタムハードウェア ry 。 アプリケーションのボトルネックは、新しい命令、機能ユニット、自律アクセラレータ、メモリ、または相互接続の公開済機能を持つカスタムハードウェアにオフロードできます。 ? 異種のFPGA ry 相補的な有用性 ry 。 ヘテロジニアス FPGA とハードARMコアの出現は、ソフトコアの相補的有用性を低下させません。 FPGAの容量が倍増 ry ソフトプロセッサも倍増します。 ? いくつかのハード・プロセッサーが一致しないスループット ry 。 中規模のFPGAは現在、何百ものソフトプロセッサとそのメモリ相互接続ネットワー ry 。そのような超並列プロセッサとアクセラレータアレイ(MPPAA)は、サイクルごとに数百のメモリアクセスとブランチ -- 一部のハードプロセッサを越えるスループッ ? ry 20年後にはほとんど変わりません。 汎用ソフトプロセッサーのマイクロアーキテクチャーは20年間余り変わっていません。 ? ry インラインパイプライン型スカラーRISC ry 。 Philip Freidinの16ビットRISC4005(1991)は、j32、xr16、NIOS、MicroBlaze [1] -- [4]のように、インオーダパイプライン型スカラ RISC であり、最新バージョンと同様です。 何年もの間、ソフトプロセッサは命令レベルの並列性を高めるためにキャッシュ、分岐予測器、 ry 、基本的なスカラーRISCマイクロアーキテクチャが依然として支配的です。 ? ry と1つのライト/サイクルLUT RAM ry 。 これは、この単純なマイクロアーキテクチャと、 ry FPGAプリミティブ要素、特にLUTとライトパーサイクル LUT RAM との間の良好な適合を反映しています。 残念なことに、このようなアーキテクチャでキャッシュミス ry 、実行は停止 ry 。 0107>>106垢版2018/08/12(日) 19:05:50.98ID:ltAhnLdz?2BP(0) ? ry ソフトプロセッサの代わりにVLIW [5]、[6]またはベクトル[7]、[8]コア。 より高い命令レベル並列(ILP)マイクロアーキテクチャをターゲットとする設計研究は、典型的には、アウトオブオーダー(OoO)[9] -- [11]ソフトプロセッサコアの代替としてのVLIW [5]、[6]またはベクトル[7]、[8] アーキテクチャを挙げれます。 スーパースカラOoOマイクロアーキテクチャの問題は、レジスタの名前を変更し、命令をデータフロー順にスケジューリングし、誤特定した後にクリーンアップし、正確な例外のために結果を順序通りにリタイアさせるために必要な機械の複雑さです。 ? これは、 ry 多数ポートCAM、 ry 、これらのすべてがFPGAで面積が集中する。 これにより、深い多ポートレジスタファイル、データフロー命令スケジューリングウェイクアップのための多ポートCAM、および多くのワイドバスマルチプレクサおよびバイパスネットワークなどの高価な回路を必要とし、これらのすべてがFPGAの面積消費を加速する。 ? ry 、マルチリード、マルチライトRAMは、レプリケーション、 ry 。 例えば、マルチリード、マルチライトRAMは、転送形態の混在、マルチサイクル動作、クロックダブリング、バンクインターリーブ、ライブバリューテーブル、その他の高価な技術を必要とします。 ? 現在の作業は、 この度の取組は、複雑さとオーバーヘッドのほとんどを伴わずに、高いILP OoOスーパースカラソフトプロセッサを構築 ry 、面積とエネルギー効率の高い高ILP実行 ry 明示的データグラフ実行(EDGE)[12]、[13]命令セットアーキテクチャを実装 ry
1
? ry 、順不同のプロセッサーをインライン・スカラーRISCより ry 。 EDGEアーキテクチャーとそのコンパイラーは、レジスタの名前変更、CAM、複雑さを払拭し、アウトオブオーダプロセッサーをインオーダスカラ RISC よりも数百LUTだけ有効にします。 ? ry が、今日のFPGA上で一般的なインオーダRISCとどのように似ているかを解説します。 本稿では、 ry EDGEマイクロアーキテクチャと、今日のFPGA上で一般的なインオーダRISCとの共通性を解説します。 重要な課題と論文の主な貢献点は、FPGAに小型で高速なデータフロー命令スケジューラを構築する方法です。 最小面積のEDGEソフトプロセッサを開発する途中で、2つの代替FPGA実装を開発して対比 ry 。 0108yamaguti垢版2018/08/12(日) 19:10:26.37ID:ltAhnLdz?2BP(0) http://rio2016.2ch.net/test/read.cgi/future/1489922543/184-2160109>>107垢版2018/08/12(日) 19:11:09.35ID:ltAhnLdz?2BP(0) II. EDGE の概要
? オペラのバッファ オペランドバッファ 32 x 32 LUT-RAMS 0115>>114垢版2018/08/12(日) 19:19:00.60ID:ltAhnLdz?2BP(0) EX EX パイプラインの REGS
EX TS
OPS0 32x32
×
LS ロード/ストア キュー
データキャッシュデータ nK x 32 ブロック RAM
LS PIPELINE REGS
×2
REGISTER FILE 32 x 32 LUT-RAM
? ry 2つのデコード、シングル発行の ry 。 図3: 2 デコード、シングルイシューのEDGEマイクロアーキテクチャ。 0116>>115垢版2018/08/12(日) 19:20:48.94ID:ltAhnLdz?2BP(0) A. マイクロアーキテクチャ 図3は、コンパクトEDGEプ ry 例 ry >>114-115>>114>>115 ? ry 、およびメモリ/データキャッシュアクセスを含む命令およびデータキャッシュおよび5段階パイプライン(従来のインオーダスカラーRISC) LS)。 これは、命令フェッチ(IF)、デコード(DC)、オペランドフェッチ、実行(EX)、およびメモリ/データキャッシュアクセス ( LS ) を含む I/D キャッシュおよび5段階パイプラインを持つほぼ従来型のインオーダスカラ RISC です。 ? ry 読み出されます。 インオーダ・プロセッサとは異なり、命令オペランドはレジスタ・ファイルではなくオペランド・バッファから読出され、 ? ry データフローの 又データフローの順序で次に実行する命令は、IS(発行)パイプラインステージによって決定されます。 これは、データフロー命令スケジューラと、デコードされた命令バッファと、オペランドバッファとを含む命令ウィンドウを使用する。 ? 単純な ry プログラム命令 ry 。 その際に単純なロードストアキューを使用してプログラムされた順の通りのメモリ命令群を発行します。 フロントエンド(IF、DC)はバックエンド(IS、EX、LS)から切り離 ry 。クロックごとに2つの命令をフェッチし、命令ウィンドウにデコードします。 命令ウィンドウのデータフロースケジューラは、各デコードされた命令の入力すなわち ? その述語とオペランド。 その述語とオペランドのレディステートを保持します。 ? 準備完了状態になると、 ry 。 すべての入力(ある場合)がレディ状態になると、命令は起動し、発行準備が整います。 最も低い番号のレディ命令IIDが各サイクルで選択され、そのデコードされた命令および入力オペランドが読 ry 。データマルチプレクサとファンクションユニット制御信号のほかに、この命令は最大2つのレディイベントをエンコードします。 ? ry および/またはイベント ry 準備状態を更新する。 スケジューラは、これらの and/or イベントを他のソース(T0およびT1に多重化)から受け取り、ウィンドウ内の他の命令のレディ状態をアップデートする。 このようにして、データフローの実行が開始され、ブロックのレディ0入力命令、次にこれらがターゲットとする命令など ry 。 0117>>116垢版2018/08/12(日) 19:21:49.32ID:ltAhnLdz?2BP(0) B. EDGEデータフロー命令のスケジューリング要件 ? ry、コアのリンチピンです。 命令ウィンドウとスケジューラは、コアの鎹です。 それらの領域、クロック周期、能力、および制限によって、EDGEコアの実現性能と ry が大きく左右されます。
2
命令スケジューラは、多様な機能と要件を備えています。 ? ry 同時です。 それは非常に同時並行的です。 ? ry 、デコーダは、命令をデコードし、デコードされた ry 。 各サイクルにおいて、デコーダは、デコードされたレディ状態及びデコードされた命令をウィンドウに書き込む。 ? ry バックエンドは準備完了イベント ry 。 各サイクルで、スケジューラは発行する次の命令を選択し、それに応答してバックエンドはレディイベント -- 特定の命令の入力スロット(述語、オペランド#0、オペランド#1)をターゲットとするターゲットレディイベント、またはブロードキャストIDで待機しているすべての命令をターゲットとしたブロードキャストレディイベントのいずれかを送信します。 これらは命令毎のアクティブレディ状態ビットをセットし、デコード済みレディ状態と共に命令が発行可能であることを知らせる。 ? ry を受け付け、発行されたレディ命令の再発行を禁止する必要があることに注意してください。 スケジューラは、まだデコードされていないターゲット命令のイベントを受付けるので、発行されたレディ命令の再発行を禁止 ry ? ry 、または述語の真または偽である可能性 ry 。 EDGE命令は、述語ではないか、又は true か false という述語である可能性があります。 ? ry 、別の命令の述語結果によって ry 。 述語化された命令は、別の命令の述語評価結果によってターゲットにされ、その結果が述語条件と一致するまで、準備ができません。 ? ry 発行しません。 述語が一致しない場合、命令は決して発行されません。 0118>>117垢版2018/08/12(日) 19:24:42.29ID:ltAhnLdz?2BP(0) 新しいブロックへの分岐では、すべての命令ウインドウレディ状態がフラッシュクリアされる(ブロックリセット)。 しかし、ブロックがそれ自身に分岐すると(ブロックリフレッシュ)、アクティブレディ状態のみがクリアされ、 デコードされたレディ状態は保存されるので、 ry 再フェ ry 必要はない。 ry 節約するための鍵です。 ソフトウェアクリティカルパスの一部は、依存する命令の1つのチェーン ( 例 ? ry 、連続するバックツーバック命令ウェイクアップのためにパイプラインバブルを追加しないことが重要です。 A → B → C と順にターゲット ) で構成されており、データフロースケジューラは、連続するバックツーバック命令の起動の為のパイプラインバブルを追加しない点は重要です。 ? ry レディ・イグジット・ターゲット・レディ・パイプラインの再発行は、クロック・サイクルに深刻 ry したがって、ISステージのレディ・イシュー・ターゲット・レディ・パイプラインの再発行は、クロック周波数に深刻な影響を与えないと仮定すると、1サイクル ry ADDのような命令は、1サイクルの待ち時間を有する。 ? ry 、スケジューラはターゲットステージの命令をISステージでウェイクさせることができます。 EXステージの結果転送では、命令が完了する前であっても、スケジューラはISステージでターゲットがターゲットする命令を起動させることができます。 他の命令の結果は、ALUの比較を待つか、複数のサイクルを取るか、または未知の待ち時間 ry ? これらは後で目標を起こすまで待たなければなりません。 これらの場合はターゲットを後で起動する様にウェイトせねばなりません。 0119>>118垢版2018/08/12(日) 19:27:23.26ID:ltAhnLdz?2BP(0) ? ry 、予想されるEDGE実装のスペクトルにわたってスケーラブルでなければなりません。各サイクルは、 ry 、1サイクルあたり1〜2の命令を発行します。 最後に、スケジューラ設計は、予想されるEDGEのスペクトル実装にわたってスケーラブル -- 各サイクルは、少なくとも1〜4のデコードされた命令と2〜4つのターゲットレディイベントを受入れ、1サイクルあたり1〜2の命令を発行します -- でなければなりません。 2つの代替的なデータフロー命令スケジューラ設計を考える: ? ry 、各命令のレディステータスが各サイクルで再評価されます。 FPGAのDフリップフロップ(FF)で命令のレディ状態が明示的に表現されているブルートフォース並列スケジューラでは、各命令のレディステータスが各サイクルで再評価されます。 ? よりコンパクトなインクリメンタルスケジューラで、 ry 。 そしてよりコンパクトなインクリメンタルスケジューラでは、LUT RAMにレディ状態を保持し、1サイクルあたり2〜4ターゲット命令のみのレディステータスを更新します。 0120yamaguti垢版2018/08/12(日) 19:28:42.23ID:ltAhnLdz?2BP(0) http://rio2016.2ch.net/test/read.cgi/future/1489922543/184-2160121>>119垢版2018/08/12(日) 19:29:15.90ID:ltAhnLdz?2BP(0) C. 並列命令スケジューラ
BID T1 T0 ENs
31 ... 3 DBID DRT DRF DR0 DR1
NEXT RDYS RDY RT RF R0 R1 INH
2 1 0
DEC.RDYS リセット RESETv リフレッシュ
32→(5,1) ? 優先エンコーダ 優先度エンコーダ
IID,V
図4: エントリ#2をより詳細に示す、並列データフロースケジューラのブロック図。 0122>>121垢版2018/08/12(日) 19:30:35.06ID:ltAhnLdz?2BP(0) 図4は、図3の命令ウィンドウのための並列命令スケジューラを示す。 >>121 ? アクティブ準備完了状態は、ターゲット準備完了イベントT0、T1および ry )によって設定され、 ry 。 アクティブレディステートは、ターゲットレディイベントT0、T1及びブロードキャストID BID(存在する場合)によってセットされ、さまざまな入力タイプによって修飾されてENをイネーブルにすることに注意してください。 ? ry 、1命令準備回路のインスタンス ry 。 32エントリウィンドウの場合、1命令分の回路のインスタンスが32個あります。 どのサイクルにおいても、32個のRDY信号のうちの1つ以上がアサートされてもよい。 ? ry 、これを発行する次の命令の5ビットIIDに縮小する。 32ビット優先度エンコーダは、これを次の発行される命令の5ビットIIDに縮小する。 各エントリに対して、復号されたレディ状態の6ビットがあり、 ? すなわち、それらは命令デコーダによって初期化される。 それらは、例えば次の様に命令デコーダによって初期化される :
? ry 符号化し、恐らくブロードキャストチャネルを介して述語および/またはいくつかのオペランドを待つか、 ry 。 これらのビットはともに、命令がデコードされたかどうかを符号化し、述語および/またはいくつかのオペランドを恐らくブロードキャストチャネルを介して待つか、またはすぐに発行する準備ができているかどうかをエンコードする。 これらのビットは、ブロック・リセット時にのみクリアされます。 0123>>123垢版2018/08/12(日) 19:32:45.64ID:ltAhnLdz?2BP(0) ? アクティブ・レディ状態の ry : アクティブレディステータスの6ビットもあります:
リスト1:並列スケジューラー `` next readys ''ロジック 0129>>128垢版2018/08/12(日) 19:46:50.84ID:ltAhnLdz?2BP(0) リスト1は、N-entry並列スケジューラー用の `` next readys ''を生成するVerilogです。 >>128 4つのレディ・イベント入力タイプ(述部真、偽、オペランド#0、オペランド#1)がありますが、 ? ry 、真/オペランド#1ターゲットから偽/オペランド#0ターゲットを区別するのに単一のターゲットインデックスビットで十分である。 述部ターゲットイベントがオペランドターゲットイベントと同じサイクルで発生しないことを保証することによって、真/オペランド#1ターゲットと偽/オペランド#0ターゲットを区別する為のターゲットインデックスビットは一つで済む。 ? N = 32エントリの命令ウィンドウの場合、T0とT1は6ビット{入力#1:0}である(すなわち、特定の{RT / RF / R0 / R1} . ? IID:5}。 (特定の{RT / RF / R0 / R1} EN がイネーブル化する事によってデコーディングが促進される ) すなわち、 N = 32エントリの命令ウィンドウの場合、T0とT1は6ビット{入力#1: IID:5}である。 ? ry (ターゲット0の入力0等)は、ブロードキャスト選択デコーダB ry 。 ターゲットデコーダT00、T01、T10、T11(ターゲット0の入力0 、等)は、放送選択デコーダBと同様に、それぞれ6-LUTである。 ? ry 、現在アクティブでデコードされたレディステートでターゲットデコーダ出力を一緒にフォールドします。 次のアクティブレディ状態ロジックは、現在アクティブかデコードされたレディステートでターゲットデコーダ出力を一緒に畳みます。 これにはさらに7つのLUT(INH_NXTでは2つ)が必要で、合計32 * 12 = 384のLUTが必要です。 これは、32エントリスケジューラを偶数および奇数命令の2つの16エントリバンクに分割 ry 改善 ry ? ある銀行内では、4ビットの銀行IIDで十分である。 1 つのバンクに付き、4ビットのバンク IID で十分である。 ? ry 、T5、T10、T11は2つの5,5-LUT、 ry 。 次に、T0、T1は5ビットに狭くなるので、T00、T01、T10、T11は2つの5,5-LUT、INH_NXTは1つの6-LUT、または2 * 16 *(3 + 6)= 288のLUTに収まります。
4 0130>>129垢版2018/08/12(日) 19:49:12.10ID:ltAhnLdz?2BP(0) ? ry :LUTまたはキャリーロジックまたはツリー、キャリーロジックゼロスキャン、および ry ワンショット変換を含む、多くの32ビットエンコーダデザインが評価されました。 優先順位エンコーダ:LUTまたはキャリーロジックの OR ツリー、キャリーロジックのゼロスキャン、およびF7MAP / F8MAPマルチプレクサを使用したワンホット変換を含む、多くの32ビットエンコーダデザインが評価検討されました。 ? ry 、2つのLUT遅延で完了する。 現在の設計では、バンク当たり2つの16→4エンコーダを使用し、2つの LUT の遅延で完了する。 ワン・イシュー・プロセッサでは、後続の2:1マルチプレクサがこれらのエンコーダ出力の1つを選択します。 特に、各16ビットエンコーダ入力I [15:0]はI [15]、I [14:10]、I [9:5]、I [4:0]にチャンクされる。 ? 各5ビットグループは32x4 LUT ROMにインデックスを付け、そのグループのエンコーダ出力を事前計算します。 各5ビットグループはそのグループのエンコーダ出力を事前計算してある 32x4 LUT ROM をインデックスします。 ? 3つの5ビットゼロコンパレータ出力とともに、 ry 。 5ビットゼロコンパレータ出力 3 つは共に、3つのグループがすべてゼロのときに 'b1111'を出力するカスタム4ビット3:1セレクタに供給されます。 ? ry RPM(Relativeally配置されたマクロ) ry 。 技術マッピングとフロアプランニング: このデザインではRPM(関連配置マクロ)手法を使用してエリアと相互接続の遅延を改善し、モジュール構成と大規模な複製で簡単なルーティングとタイミングクロージャのための繰り返し可能なレイアウトを実現します。 構造RTLはモジュールをインスタンス化し、それらをスケジューラにタイルします。 6入力モジュール上のXST注釈(* LUT MAP = "yes" *)は、そのロジックを1つのLUTにロックします。(* RLOC = "XxYy" *)は、FPGAプリミティブをクラスタにパックし、相互に相対的にクラスタを配置します。 0131yamaguti垢版2018/08/12(日) 19:51:29.03ID:ltAhnLdz?2BP(0) http://rio2016.2ch.net/test/read.cgi/future/1489922543/184-2160132>>130垢版2018/08/12(日) 19:51:58.10ID:ltAhnLdz?2BP(0) 図5: 並列スケジューラのFPGA実装
? ry 、およびデコードされた命令バッファ ry 。 図5は、スケジューラ、プライオリティエンコーダ、およびデコード済命令用バッファを含む図4のザイリンクス7シリーズの実装であり、クリティカルパスが白 ry FPGAスライスの2つの水平な行はそれぞれ、命令ウィンドウの4つのエントリに対応します。 左から右へ:
? 右側には、複数の32x6ビットトゥルーデュアルポートLUT RAMに実装された、合成された優先エンコーダとマルチプレクサ(青)とデコードされた命令バッファ(白) ry 。 右側には、合成された優先度エンコーダとマルチプレクサ(青)と、複数の 32 x 6 ビットトゥルーデュアルポート LUT RAM に実装されたデコード命令用バッファ(白 ry ? ry デコード済命令LUT RAM、 ry 。 パフォーマンス:Kintex-7 -1スピードグレードでは、クリティカルパスにRDYクロックトゥーアウト、プライオリティエンコーダ、マルチプレクサ、デコードされた命令LUT RAM、次のreadysロジック、RDYセットアップを含む5.0 nsが必要です。 相互接続遅延はクリティカルパスの85%です。残念ながら、RDYからRDYまでのすべてのパスは、比較的大きな直径のネットリストを通過 ry ? ry バックツーバック問題(連続サイクルで) ry 。 スケジューラクリティカルパス(命令バッファLUT RAMの出力ポート)の途中でパイプラインレジスタを追加することにより、サイクルタイムを2.9nsに短縮することができますが、 これは、単一の従属命令チェーンのバックツーバックイシュー(連続サイクルで)を達成することはできません。 0133>>131垢版2018/08/12(日) 19:52:35.34ID:ltAhnLdz?2BP(0) ? ry 準備完了状態 E. 増分データフロースケジューラレディー状態 並列スケジューラは簡単ですが、32x12bのレディステート(LUT RAMの数少ないLUT)を維持するために何百ものLUTとFFを消費し、命令ウィンドウのサイズが2倍になるとこの領域も2倍になります。 ? また、発行された各命令が多くても2つの他の準備完了状態に影響を与えても(ブロードキャストにもかかわらず)、各命令の次のreadys LUTの各サイクルはすべての命令の準備を再計算します。 又、発行された各命令が大抵 2 つの他のレディー状態に影響を与えても(ブロードキャストにもかかわらず)、LUT での各レディーは次の各サイクルで全ての命令のレディーステートを再計算させます。 ? ? ry 、キュー内のレディ命令のフロンティアを維持し、 ry 。 対照的に、インクリメンタルスケジューラは、LUT RAMでデコードされたアクティブレディ状態を保持し、キュー内のレディ命令のフロンティアを整備し、1サイクルあたりわずか2〜4ターゲット命令のレディステータスを評価します。
ARDYSS WA ← EVT_IID RA ← EVT_IID I ← READYLOGIC ARDYS_NXT O → READYLOGIC DRDYS
DVS ← RESET O → READYLOGIC DV WA ← DRDYSS WA RA ← DRDYSS RA
AVS ← RESETvREFRESH WA ← ARDYSS WA RA ← ARDYSS RA O → READYLOGIC AV
READY LOGIC READY → DV ← DVS O DRDYS ← DRDYSS O AV ← AVS O ARDYS → ARDYSS O ARDYS_NXT → ARDYSS I EVT_RDYS ← EVT_RDYS 0136>>135垢版2018/08/12(日) 19:57:14.42ID:ltAhnLdz?2BP(0) ? ry :準備状態、検証、および準備論理。 (a)設計:レディー状態、検証、およびレディーロジック。
? ry ・バンクの競合が存在する可能性があります。 EDGEコンパイラは、命令の両方のターゲットがディスジョイント・バンクにあることを保証するわけではないため、スケジューラ・バンクの競合が発生する可能性 ry 。 ADD命令は、命令10のオペランドと命令12のオペランドを対象 ry ? ry できないため、1つのイベントが処理され、もう1つのイベントが後のサイクルでキューに入れられます。 同じサイクルで2つの偶数バンク・ターゲットのアクティブ・レディ状態を更新することはできないため、 1 つのイベントが処理された後のサイクルで、もう 1 つのイベントがキュー ry 0139>>138垢版2018/08/12(日) 20:01:53.31ID:ltAhnLdz?2BP(0) F. インクリメンタルなデータフロースケジューラの設計、運用、実装 スケジューラのコア(図7)は次のように構成されています。