ならず読んでください

プレゼン上達のためのヒント

You can transform your audiences that feel more impressed than before

解説:池田光穂


この2つがないと、誰も君の研究発表に耳を貸さないだろうし、発表が終わった後にくるコメントや 感想は、単なる外交辞令にとどまるにすぎないであろう。君と議論をしたがらない最悪のコメントは、君の話を餌にした、自分(=他の研究者)の研究に関する 「君の議論とは関係のない」我田引水的な議論であろう。このようなことは避けなければならない。そして、

3.時間をまもることです(→原稿量と時間


2つのミッション


しかしながら、よく考えてみれば、大学院生(のみならず研究者)にとって研究発表の最終的な目的 (テロス)は、もっと別のところにあるはずだ。この2つのテロスは、終わっている時には完遂されていることが前提とされているので、それを我々のミッショ ンと呼んでもさしつかえないだろう。それは次の2つである。

なぜなら、自分の研究が発展し、より多くの人に自分の研究が知れ渡るようになることは、研究者と しての生命を保証するものであり、また君の研究が公共性をもつことであり、また多少なりとも社会の役にたつことに繋がるからである。


3つのスローガン


そのための3つの原則と、それを実現させる方法論を紹介しておこう。つまり、プレゼンをよくする ためには、つぎの3つの点について努力すればよいことになる。

この3つのスローガンの内容を少し説明しておこう


形式として守らなければならない3つのルール


★プログラミングにおける内省

Feedback neural network are neural networks with the ability to provide bottom-up and top-down design feedback to their input or previous layers, based on their outputs or subsequent layers. This is notably used in large language models specifically in reasoning language models (RLM). This process is designed to mimic self-assessment and internal deliberation, aiming to minimize errors (like hallucinations) and increase interpretability. Reflection is a form of "test-time compute", where additional computational resources are used during inference.
フィードバックニューラルネットワークは、出力や後続層に基づいて、入 力層や先行層に対してボトムアップおよびトップダウンの設計フィードバックを提供する能力を持つニューラルネットワークである。これは特に大規模言語モデ ル、特に推論言語モデル(RLM)で顕著に用いられる。このプロセスは自己評価と内部的な熟議を模倣するよう設計されており、誤り(幻覚など)を最小化し 解釈可能性を高めることを目的としている。リフレクションは「テスト時計算」の一形態であり、推論中に追加の計算リソースが使用される。
Introduction

Traditional neural networks process inputs in a feedforward manner, generating outputs in a single pass. However, their limitations in handling complex tasks, and especially compositional ones, have led to the development of methods that simulate internal deliberation. Techniques such as chain-of-thought prompting encourage models to generate intermediate reasoning steps, thereby improving their performance in such tasks.

The feedback can take place either after a full network pass and decoding to tokens, or continuously in latent space (the last layer can be fed back to the first layer).[1][2] In LLMs, special tokens can mark the beginning and end of reflection before producing a final response (e.g., <thinking>).

This internal process of "thinking" about the steps leading to an answer is designed to be analogous to human metacognition or "thinking about thinking". It helps AI systems approach tasks that require multi-step reasoning, planning, and logical thought.


はじめに

従来のニューラルネットワークは、入力データを順方向に処理し、単一のパスで出力を生成する。しかし、複雑なタスク、特に構成的なタスクを扱う際の限界か ら、内部的な熟議を模倣する手法が開発されてきた。思考の連鎖プロンプティングなどの技術は、モデルに中間的な推論ステップを生成させることで、こうした タスクにおける性能向上を図る。

フィードバックは、ネットワークの完全な通過とトークンへのデコード後に行うことも、潜在空間で継続的に行うこともできる(最終層を最初の層にフィード バックする)。[1][2] 大規模言語モデル(LLM)では、最終応答を生成する前に、特別なトークン(例:<thinking>)で内省の開始と終了をマークできる。

この「思考」という内部プロセスは、答えに至る段階を「考える」行為であり、人間のメタ認知、すなわち「思考について考える」ことに喩えられるように設計 されている。これによりAIシステムは、多段階推論、計画立案、論理的思考を要する課題への対応が可能となる。


Techniques
Increasing the length of the Chain-of-Thought reasoning process, by passing the output of the model back to its input and doing multiple network passes, increases inference-time scaling.[3] Reinforcement learning frameworks have also been used to steer the Chain-of-Thought. One example is Group Relative Policy Optimization (GRPO), used in DeepSeek-R1,[4] a variant of policy gradient methods that eliminates the need for a separate "critic" model by normalizing rewards within a group of generated outputs, reducing computational cost. Simple techniques like "budget forcing" (forcing the model to continue generating reasoning steps) have also proven effective in improving performance.[5]
手法
モデルの出力結果をその入力に戻し、ネットワークを複数回通過させることで思考連鎖推論プロセスの長さを増やすと、推論時間の拡張性が向上する。[3] 強化学習フレームワークも思考連鎖を導くために用いられている。一例として、DeepSeek-R1[4]で使用されたグループ相対ポリシー最適化 (GRPO)がある。これはポリシー勾配法の変種であり、生成された出力群内で報酬を正規化することで、別途の「批評家」モデルを不要とし、計算コストを 削減する。また、「予算強制」(モデルに推論ステップの生成を継続させる)のような単純な手法も、性能向上に有効であることが実証されている。[5]
Types of reflection
Post-hoc reflection
Analyzes and critiques an initial output separately, often involving prompting the model to identify errors or suggest improvements after generating a response. The Reflexion framework follows this approach.[6]
内省の種類
事後内省
初期の出力を別途分析・批判する。多くの場合、応答生成後にモデルに誤りを特定させたり改善を提案させたりする。Reflexionフレームワークはこの 手法を採用している。[6]
Iterative reflection
Revises earlier parts of a response dynamically during generation. Self-monitoring mechanisms allow the model to adjust reasoning as it progresses. Methods like Tree-of-Thoughts exemplify this, enabling backtracking and alternative exploration.
反復的推論
応答生成中に、先行部分を動的に修正する。自己監視機構により、モデルは推論の進行に合わせて調整を行う。思考の樹構造のような手法がこれを体現し、後戻 りや代替案の探索を可能にする。
Intrinsic reflection
Integrates self-monitoring directly into the model architecture rather than relying solely on external prompts, enabling models with inherent awareness of their reasoning limitations and uncertainties. This has been used by Google DeepMind in a technique called Self-Correction via Reinforcement Learning (SCoRe) which rewards the model for improving its responses.[7]


自己内省
モデルアーキテクチャに自己監視機能を直接組み込み、外部プロンプトのみに依存しない。これにより、推論の限界や不確実性を本質的に認識するモデルを実現 する。Google DeepMindはこれを「強化学習による自己修正(SCoRe)」技術に活用し、応答の改善に対してモデルに報酬を与える手法を採用している。[7]

Process reward models and limitations
Early research explored PRMs to provide feedback on each reasoning step, unlike traditional reinforcement learning which rewards only the final outcome. However, PRMs have faced challenges, including computational cost and reward hacking. DeepSeek-R1's developers found them to be not beneficial.[8][9]
プロセス報酬モデルとその限界
初期の研究では、従来の強化学習が最終結果のみを報酬とするのとは異なり、各推論ステップに対するフィードバックを提供する手段としてPRMが検討され た。しかしPRMには計算コストや報酬ハッキングといった課題が存在した。DeepSeek-R1の開発者らは、PRMが有益ではないと結論づけた。 [8][9]
Reflective programming
Reservoir computing
反射的(内省的)プログラミング
リザーバーコンピューティング
References
1. Geiping, Jonas; McLeish, Sean; Jain, Neel; Kirchenbauer, John; Singh, Siddharth; Bartoldson, Brian R.; Kailkhura, Bhavya; Bhatele, Abhinav; Goldstein, Tom (2025). "Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach". arXiv:2502.05171 [cs.LG].
2. Hao, Shibo; Sukhbaatar, Sainbayar; Su, DiJia; Li, Xian; Hu, Zhiting; Weston, Jason; Tian, Yuandong (2024). "Training Large Language Models to Reason in a Continuous Latent Space". arXiv:2412.06769 [cs.CL].
3. DeepSeek-AI; et al. (2025). "DeepSeek-R1: Incentivizing Reasoning Capability in LLMS via Reinforcement Learning". arXiv:2501.12948 [cs.CL].
4. Shao, Zhihong; Wang, Peiyi; Zhu, Qihao; Xu, Runxin; Song, Junxiao; Bi, Xiao; Zhang, Haowei; Zhang, Mingchuan; Li, Y. K.; Wu, Y.; Guo, Daya (2024). "DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models". arXiv:2402.03300 [cs.CL].
5. Muennighoff, Niklas; Yang, Zitong; Shi, Weijia; Xiang Lisa Li; Fei-Fei, Li; Hajishirzi, Hannaneh; Zettlemoyer, Luke; Liang, Percy; Candès, Emmanuel; Hashimoto, Tatsunori (2025). "S1: Simple test-time scaling". arXiv:2501.19393 [cs.CL].
6. Shinn, Noah; Cassano, Federico; Berman, Edward; Gopinath, Ashwin; Narasimhan, Karthik; Yao, Shunyu (2023). "Reflexion: Language Agents with Verbal Reinforcement Learning". arXiv:2303.11366 7. Dickson, Ben (1 October 2024). "DeepMind's SCoRe shows LLMs can use their internal knowledge to correct their mistakes". VentureBeat. Retrieved 20 February 2025.
8. Uesato, Jonathan; Kushman, Nate; Kumar, Ramana; Song, Francis; Siegel, Noah; Wang, Lisa; Creswell, Antonia; Irving, Geoffrey; Higgins, Irina (2022). "Solving math word problems with process- and outcome-based feedback". arXiv:2211.14275 [cs.LG].
9. Lightman, Hunter; Kosaraju, Vineet; Burda, Yura; Edwards, Harri; Baker, Bowen; Lee, Teddy; Leike, Jan; Schulman, John; Sutskever, Ilya; Cobbe, Karl (2023). "Let's Verify Step by Step". arXiv:2305.20050 [cs.LG].
参考文献
1. Geiping, Jonas; McLeish, Sean; Jain, Neel; Kirchenbauer, John; Singh, Siddharth; Bartoldson, Brian R.; Kailkhura, Bhavya; Bhatele, Abhinav; Goldstein, Tom (2025). 「Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach」. arXiv:2502.05171 [cs.LG].
2. Hao, Shibo; Sukhbaatar, Sainbayar; Su, DiJia; Li, Xian; Hu, Zhiting; Weston, Jason; Tian, Yuandong (2024). 「Training Large Language Models to Reason in a Continuous Latent Space」. arXiv:2412.06769 [cs.CL].
3. DeepSeek-AI; et al. (2025). 「DeepSeek-R1: 強化学習によるLLMの推論能力のインセンティブ付与」. arXiv:2501.12948 [cs.CL].
4. Shao, Zhihong; Wang, Peiyi; Zhu, Qihao; Xu, Runxin; Song, Junxiao; Bi, Xiao; Zhang, Haowei; Zhang, Mingchuan; Li, Y. K.; Wu, Y.; Guo, Daya (2024). 「DeepSeekMath: オープン言語モデルにおける数学的推論の限界を押し広げる」. arXiv:2402.03300 [cs.CL].
5. Muennighoff, Niklas; Yang, Zitong; Shi, Weijia; Xiang Lisa Li; Fei-Fei, Li; Hajishirzi, Hannaneh; Zettlemoyer, Luke; Liang, Percy; Candès, Emmanuel; Hashimoto, Tatsunori (2025). 「S1: 単純なテスト時スケーリング」。arXiv:2501.19393 [cs.CL]。
6. Shinn, Noah; Cassano, Federico; Berman, Edward; Gopinath, Ashwin; Narasimhan, Karthik; Yao, Shunyu (2023). 「リフレクション:言語エージェントと言語的強化学習」. arXiv:2303.113667. ディクソン, ベン (2024年10月1日). 「DeepMindのSCoReは、LLMが内部知識を用いて誤りを修正できることを示す」. VentureBeat. 2025年2月20日閲覧.
8. 上里ジョナサン、クシュマン・ネイト、クマール・ラマナ、ソン・フランシス、シーゲル・ノア、ワン・リサ、クレスウェル・アントニア、アーヴィング・ジェ フリー、ヒギンズ・イリーナ(2022年)。「プロセスと結果に基づくフィードバックによる数学的文章題の解決」。arXiv:2211.14275 [cs.LG]。
9. ライトマン, ハンター; コサラジュ, ヴィニート; ブルダ, ユラ; エドワーズ, ハリ; ベイカー, ボーエン; リー, テディ; ライケ, ヤン; シュルマン, ジョン; スツケヴェル, イリヤ; コッベ, カール (2023). 「段階的に検証しよう」. arXiv:2305.20050 [cs.LG].
https://en.wikipedia.org/wiki/Feedback_neural_network

In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior.[1]

Historical background
The earliest computers were programmed in their native assembly languages, which were inherently reflective, as these original architectures could be programmed by defining instructions as data and using self-modifying code. As the bulk of programming moved to higher-level compiled languages such as ALGOL, COBOL, Fortran, Pascal, and C, this reflective ability largely disappeared until new programming languages with reflection built into their type systems appeared.[citation needed]

Brian Cantwell Smith's 1982 doctoral dissertation introduced the notion of computational reflection in procedural programming languages and the notion of the meta-circular interpreter as a component of 3-Lisp.[2][3]

Uses
Reflection helps programmers make generic software libraries to display data, process different formats of data, perform serialization and deserialization of data for communication, or do bundling and unbundling of data for containers or bursts of communication.

Effective use of reflection almost always requires a plan: A design framework, encoding description, object library, a map of a database or entity relations.

Reflection makes a language more suited to network-oriented code. For example, it assists languages such as Java to operate well in networks by enabling libraries for serialization, bundling and varying data formats. Languages without reflection such as C are required to use auxiliary compilers for tasks like Abstract Syntax Notation to produce code for serialization and bundling.

Reflection can be used for observing and modifying program execution at runtime. A reflection-oriented program component can monitor the execution of an enclosure of code and can modify itself according to a desired goal of that enclosure. This is typically accomplished by dynamically assigning program code at runtime.

In object-oriented programming languages such as Java, reflection allows inspection of classes, interfaces, fields and methods at runtime without knowing the names of the interfaces, fields, methods at compile time. It also allows instantiation of new objects and invocation of methods.

Reflection is often used as part of software testing, such as for the runtime creation/instantiation of mock objects.

Reflection is also a key strategy for metaprogramming.

In some object-oriented programming languages such as C# and Java, reflection can be used to bypass member accessibility rules. For C#-properties this can be achieved by writing directly onto the (usually invisible) backing field of a non-public property. It is also possible to find non-public methods of classes and types and manually invoke them. This works for project-internal files as well as external libraries such as .NET's assemblies and Java's archives.

Implementation

This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (January 2008) (Learn how and when to remove this message)
A language that supports reflection provides a number of features available at runtime that would otherwise be difficult to accomplish in a lower-level language. Some of these features are the abilities to:

Discover and modify source-code constructions (such as code blocks, classes, methods, protocols, etc.) as first-class objects at runtime.
Convert a string matching the symbolic name of a class or function into a reference to or invocation of that class or function.
Evaluate a string as if it were a source-code statement at runtime.
Create a new interpreter for the language's bytecode to give a new meaning or purpose for a programming construct.
These features can be implemented in different ways. In MOO, reflection forms a natural part of everyday programming idiom. When verbs (methods) are called, various variables such as verb (the name of the verb being called) and this (the object on which the verb is called) are populated to give the context of the call. Security is typically managed by accessing the caller stack programmatically: Since callers() is a list of the methods by which the current verb was eventually called, performing tests on callers()[0] (the command invoked by the original user) allows the verb to protect itself against unauthorised use.

Compiled languages rely on their runtime system to provide information about the source code. A compiled Objective-C executable, for example, records the names of all methods in a block of the executable, providing a table to correspond these with the underlying methods (or selectors for these methods) compiled into the program. In a compiled language that supports runtime creation of functions, such as Common Lisp, the runtime environment must include a compiler or an interpreter.

Reflection can be implemented for languages without built-in reflection by using a program transformation system to define automated source-code changes.

Security considerations
Reflection may allow a user to create unexpected control flow paths through an application, potentially bypassing security measures. This may be exploited by attackers.[4] Historical vulnerabilities in Java caused by unsafe reflection allowed code retrieved from potentially untrusted remote machines to break out of the Java sandbox security mechanism. A large scale study of 120 Java vulnerabilities in 2013 concluded that unsafe reflection is the most common vulnerability in Java, though not the most exploited.[5]
コンピュータ科学において、リフレクティブプログラミングまたはリフレ クションとは、プロセスが自身の構造や動作を検査し、内省し、変更する能力を指す。[1]

歴史的背景
初期のコンピュータはネイティブのアセンブリ言語でプログラミングされた。これらの原始的なアーキテクチャは、命令をデータとして定義し自己修正コードを 使用することでプログラミング可能であったため、本質的にリフレクティブであった。プログラミングの大部分がALGOL、COBOL、Fortran、 Pascal、Cといった高水準のコンパイル言語に移行するにつれ、この反射能力はほぼ失われた。その後、型システムに反射機能を組み込んだ新しいプログ ラミング言語が登場するまで、この能力は復活しなかった。

ブライアン・カントウェル・スミスが1982年に発表した博士論文は、手続き型プログラミング言語における計算的反射の概念と、3-Lispの構成要素と してのメタ循環的インタプリタの概念を導入したものである。[2][3]

用途
リフレクションは、プログラマーが汎用ソフトウェアライブラリを作成する際に役立つ。具体的には、データの表示、異なる形式のデータの処理、通信のための データのシリアライズとデシリアライズ、あるいはコンテナや通信バーストのためのデータのバンドリングとアンバンドリングを行う。

リフレクションを効果的に活用するには、ほぼ必ず計画が必要だ。設計フレームワーク、記述の符号化、オブジェクトライブラリ、データベースやエンティティ 関係の地図などである。

リフレクションは言語をネットワーク指向コードに適したものにする。例えばJavaのような言語がネットワーク上で良好に動作するよう、シリアライゼー ション、バンドリング、多様なデータ形式に対応するライブラリを可能にする。Cのようなリフレクションを持たない言語では、シリアライゼーションやバンド リングのコードを生成するために抽象構文表記法(ASN)のような補助コンパイラが必要となる。

リフレクションは実行時のプログラム動作を監視・変更するために使用できる。リフレクション指向のプログラムコンポーネントは、コードの囲み構造の実行を 監視し、その囲み構造の目的に応じて自身を変更できる。これは通常、実行時に動的にプログラムコードを割り当てることで実現される。

Javaなどのオブジェクト指向プログラミング言語では、リフレクションにより、コンパイル時にインターフェース・フィールド・メソッドの名前を知らなく ても、実行時にそれらを検査できる。また、新しいオブジェクトのインスタンス化やメソッドの呼び出しも可能にする。

リフレクションはソフトウェアテストの一部として頻繁に用いられる。例えば、モックオブジェクトのランタイムでの作成やインスタンス化などに利用される。

リフレクションはメタプログラミングの主要な戦略でもある。

C#やJavaなどのオブジェクト指向プログラミング言語では、リフレクションを用いてメンバのアクセス規則を迂回できる。C#のプロパティでは、非公開 プロパティの(通常は不可視な)バッキングフィールドに直接書き込むことでこれを実現できる。また、クラスや型の非公開メソッドを見つけ出し、手動で呼び 出すことも可能だ。これはプロジェクト内部のファイルだけでなく、.NETのアセンブリやJavaのアーカイブといった外部ライブラリに対しても機能す る。

実装

この節は出典を一切示していない。信頼できる出典を引用してこの節を改善してほしい。出典のない記述は削除される可能性がある。(2008年1月)(この メッセージの削除方法と時期について)
リフレクションをサポートする言語は、低レベル言語では実現が困難な、実行時に利用可能な数々の機能を提供する。これらの機能の一部は以下の能力である:

実行時にソースコード構造(コードブロック、クラス、メソッド、プロトコルなど)を第一級オブジェクトとして発見・変更する。
クラスや関数のシンボリック名に一致する文字列を、そのクラスや関数への参照または呼び出しに変換する。
実行時に文字列をソースコードの文として評価する。
言語のバイトコード用の新しいインタプリタを作成し、プログラミング構造体に新たな意味や目的を与えること。
これらの機能は異なる方法で実装できる。MOOでは、リフレクションは日常的なプログラミングの慣用表現の自然な一部を成している。動詞(メソッド)が呼 び出されると、動詞(呼び出されている動詞の名前)やthis(動詞が呼び出されているオブジェクト)といった様々な変数が設定され、呼び出しの文脈が与 えられる。セキュリティは通常、呼び出し元スタックへのプログラム的アクセスによって管理される。callers()は現在の動詞が最終的に呼び出された メソッドのリストであるため、callers()[0](元のユーザーが実行したコマンド)に対する検証を行うことで、動詞は不正使用から自身を保護でき る。

コンパイル言語は、ソースコードに関する情報を提供するランタイムシステムに依存する。例えばコンパイルされたObjective-C実行ファイルは、実 行ファイル内のブロックに全てのメソッド名を記録し、これらをプログラムにコンパイルされた基盤となるメソッド(またはそれらのメソッドのセレクタ)に対 応付けるテーブルを提供する。Common Lispのように関数のランタイム生成をサポートするコンパイル言語では、ランタイム環境にコンパイラまたはインタプリタが含まれている必要がある。

組み込みリフレクションを持たない言語でも、プログラム変換システムを用いて自動化されたソースコード変更を定義することでリフレクションを実装できる。

セキュリティ上の考慮点
リフレクションは、ユーザーがアプリケーション内で予期しない制御フロー経路を作成することを可能にし、セキュリティ対策を迂回する可能性がある。これは 攻撃者に悪用される恐れがある。[4] Javaにおける過去の脆弱性は、安全でないリフレクションによって引き起こされ、信頼できない可能性のあるリモートマシンから取得したコードがJava のサンドボックスセキュリティ機構を突破することを許した。2013年に実施された120件のJava脆弱性に関する大規模調査では、安全でないリフレク ションがJavaで最も一般的な脆弱性であると結論づけられた。ただし、最も悪用されているわけではない。[5]
https://en.wikipedia.org/wiki/Reflective_programming

Reservoir computing is a framework for computation derived from recurrent neural network theory that maps input signals into higher dimensional computational spaces through the dynamics of a fixed, non-linear system called a reservoir.[1] After the input signal is fed into the reservoir, which is treated as a "black box," a simple readout mechanism is trained to read the state of the reservoir and map it to the desired output.[1] The first key benefit of this framework is that training is performed only at the readout stage, as the reservoir dynamics are fixed.[1] The second is that the computational power of naturally available systems, both classical and quantum mechanical, can be used to reduce the effective computational cost.[2]

History
The first examples of reservoir neural networks demonstrated that randomly connected recurrent neural networks could be used for sensorimotor sequence learning,[3] and simple forms of interval and speech discrimination.[4][5] In these early models[4][5] the memory in the network took the form of both short-term synaptic plasticity and activity mediated by recurrent connections. In other early reservoir neural network models the memory of the recent stimulus history was provided solely by the recurrent activity.[3][6][7] Overall, the general concept of reservoir computing stems from the use of recursive connections within neural networks to create a complex dynamical system.[8] It is a generalisation of earlier neural network architectures such as recurrent neural networks, liquid-state machines and echo-state networks. Reservoir computing also extends to physical systems that are not networks in the classical sense, but rather continuous systems in space and/or time: e.g. a literal "bucket of water" can serve as a reservoir that performs computations on inputs given as perturbations of the surface.[9] The resultant complexity of such recurrent neural networks was found to be useful in solving a variety of problems including language processing and dynamic system modeling.[8] However, training of recurrent neural networks is challenging and computationally expensive.[8] Reservoir computing reduces those training-related challenges by fixing the dynamics of the reservoir and only training the linear output layer.[8]

A large variety of nonlinear dynamical systems can serve as a reservoir that performs computations. In recent years semiconductor lasers have attracted considerable interest as computation can be fast and energy efficient compared to electrical components.

Recent advances in both AI and quantum information theory have given rise to the concept of quantum neural networks.[10] These hold promise in quantum information processing, which is challenging to classical networks, but can also find application in solving classical problems.[10][11] In 2018, a physical realization of a quantum reservoir computing architecture was demonstrated in the form of nuclear spins within a molecular solid.[11] However, the nuclear spin experiments in [11] did not demonstrate quantum reservoir computing per se as they did not involve processing of sequential data. Rather the data were vector inputs, which makes this more accurately a demonstration of quantum implementation of a random kitchen sink[12] algorithm (also going by the name of extreme learning machines in some communities). In 2019, another possible implementation of quantum reservoir processors was proposed in the form of two-dimensional fermionic lattices.[11] In 2020, realization of reservoir computing on gate-based quantum computers was proposed and demonstrated on cloud-based IBM superconducting near-term quantum computers.[13]

Reservoir computers have been used for time-series analysis purposes. In particular, some of their usages involve chaotic time-series prediction,[14][15] separation of chaotic signals,[16] and link inference of networks from their dynamics.[17]

Classical reservoir computing
Reservoir
The 'reservoir' in reservoir computing is the internal structure of the computer, and must have two properties: it must be made up of individual, non-linear units, and it must be capable of storing information. The non-linearity describes the response of each unit to input, which is what allows reservoir computers to solve complex problems. Reservoirs are able to store information by connecting the units in recurrent loops, where the previous input affects the next response. The change in reaction due to the past allows the computers to be trained to complete specific tasks.[18]

Reservoirs can be virtual or physical.[18] Virtual reservoirs are typically randomly generated and are designed like neural networks.[18][8] Virtual reservoirs can be designed to have non-linearity and recurrent loops, but, unlike neural networks, the connections between units are randomized and remain unchanged throughout computation.[18] Physical reservoirs are possible because of the inherent non-linearity of certain natural systems. The interaction between ripples on the surface of water contains the nonlinear dynamics required in reservoir creation, and a pattern recognition RC was developed by first inputting ripples with electric motors then recording and analyzing the ripples in the readout.[1]

Readout
The readout is a neural network layer that performs a linear transformation on the output of the reservoir.[1] The weights of the readout layer are trained by analyzing the spatiotemporal patterns of the reservoir after excitation by known inputs, and by utilizing a training method such as a linear regression or a Ridge regression.[1] As its implementation depends on spatiotemporal reservoir patterns, the details of readout methods are tailored to each type of reservoir.[1] For example, the readout for a reservoir computer using a container of liquid as its reservoir might entail observing spatiotemporal patterns on the surface of the liquid.[1]

Types
Context reverberation network
An early example of reservoir computing was the context reverberation network.[19] In this architecture, an input layer feeds into a high dimensional dynamical system which is read out by a trainable single-layer perceptron. Two kinds of dynamical system were described: a recurrent neural network with fixed random weights, and a continuous reaction–diffusion system inspired by Alan Turing's model of morphogenesis. At the trainable layer, the perceptron associates current inputs with the signals that reverberate in the dynamical system; the latter were said to provide a dynamic "context" for the inputs. In the language of later work, the reaction–diffusion system served as the reservoir.

Echo state network
Main article: Echo state network
The Tree Echo State Network (TreeESN) model represents a generalization of the reservoir computing framework to tree structured data.[20]

Liquid-state machine
Main article: Liquid-state machine
Chaotic Liquid State Machine

The liquid (i.e. reservoir) of a Chaotic Liquid State Machine (CLSM),[21][22] or chaotic reservoir, is made from chaotic spiking neurons but which stabilize their activity by settling to a single hypothesis that describes the trained inputs of the machine. This is in contrast to general types of reservoirs that don't stabilize. The liquid stabilization occurs via synaptic plasticity and chaos control that govern neural connections inside the liquid. CLSM showed promising results in learning sensitive time series data.[21][22]

Nonlinear transient computation
This type of information processing is most relevant when time-dependent input signals depart from the mechanism's internal dynamics.[23] These departures cause transients or temporary altercations which are represented in the device's output.[23]

Deep reservoir computing
The extension of the reservoir computing framework towards Deep Learning, with the introduction of Deep Reservoir Computing and of the Deep Echo State Network (DeepESN) model[24][25][26][27] allows to develop efficiently trained models for hierarchical processing of temporal data, at the same time enabling the investigation on the inherent role of layered composition in recurrent neural networks.

Quantum reservoir computing
Quantum reservoir computing may use the nonlinear nature of quantum mechanical interactions or processes to form the characteristic nonlinear reservoirs[10][11][28][13] but may also be done with linear reservoirs when the injection of the input to the reservoir creates the nonlinearity.[29] The marriage of machine learning and quantum devices is leading to the emergence of quantum neuromorphic computing as a new research area.[30]

Types
Gaussian states of interacting quantum harmonic oscillators
Gaussian states are a paradigmatic class of states of continuous variable quantum systems.[31] Although they can nowadays be created and manipulated in, e.g, state-of-the-art optical platforms,[32] naturally robust to decoherence, it is well-known that they are not sufficient for, e.g., universal quantum computing because transformations that preserve the Gaussian nature of a state are linear.[33] Normally, linear dynamics would not be sufficient for nontrivial reservoir computing either. It is nevertheless possible to harness such dynamics for reservoir computing purposes by considering a network of interacting quantum harmonic oscillators and injecting the input by periodical state resets of a subset of the oscillators. With a suitable choice of how the states of this subset of oscillators depends on the input, the observables of the rest of the oscillators can become nonlinear functions of the input suitable for reservoir computing; indeed, thanks to the properties of these functions, even universal reservoir computing becomes possible by combining the observables with a polynomial readout function.[29] In principle, such reservoir computers could be implemented with controlled multimode optical parametric processes,[34] however efficient extraction of the output from the system is challenging especially in the quantum regime where measurement back-action must be taken into account.

2-D quantum dot lattices
In this architecture, randomized coupling between lattice sites grants the reservoir the "black box" property inherent to reservoir processors.[10] The reservoir is then excited, which acts as the input, by an incident optical field. Readout occurs in the form of occupational numbers of lattice sites, which are naturally nonlinear functions of the input.[10]

Nuclear spins in a molecular solid
In this architecture, quantum mechanical coupling between spins of neighboring atoms within the molecular solid provides the non-linearity required to create the higher-dimensional computational space.[11] The reservoir is then excited by radiofrequency electromagnetic radiation tuned to the resonance frequencies of relevant nuclear spins.[11] Readout occurs by measuring the nuclear spin states.[11]

Reservoir computing on gate-based near-term superconducting quantum computers
The most prevalent model of quantum computing is the gate-based model where quantum computation is performed by sequential applications of unitary quantum gates on qubits of a quantum computer.[35] A theory for the implementation of reservoir computing on a gate-based quantum computer with proof-of-principle demonstrations on a number of IBM superconducting noisy intermediate-scale quantum (NISQ) computers[36] has been reported in.[13]
リザーバー計算は、再帰型ニューラルネットワーク理論から派生した計算 フレームワークである。これは入力信号を、リザーバーと呼ばれる固定された非線形システムのダイナミクスを通じて、高次元の計算空間へマッピングする。 [1] 入力信号が「ブラックボックス」として扱われるリザーバーに供給された後、単純な読み出し機構が訓練され、リザーバーの状態を読み取り、それを所望の出力 へマッピングする。[1] この枠組みの第一の利点は、リザーバーの動的特性が固定されているため、学習が読み出し段階のみで実行されることだ。[1] 第二の利点は、古典的・量子力学的を問わず自然界に存在するシステムの計算能力を活用することで、実質的な計算コストを削減できることである。[2]

歴史
リザーバーニューラルネットワークの初期の実例は、ランダムに接続された再帰型ニューラルネットワークが感覚運動シーケンス学習[3]や、単純な間隔識 別・音声識別[4][5]に利用可能であることを示した。これらの初期モデル[4][5]では、ネットワーク内の記憶は短期的なシナプス可塑性と再帰的接 続を介した活動の両方の形態をとっていた。他の初期リザーバーニューラルネットワークモデルでは、直近の刺激履歴の記憶は再帰的活動のみによって提供され た[3][6][7]。全体として、リザーバーコンピューティングの一般的な概念は、神経ネットワーク内の再帰的接続を用いて複雑な動的システムを構築す ることから派生している[8]。これは再帰的ニューラルネットワーク、リキッドステートマシン、エコーステートネットワークといった先行するニューラル ネットワークアーキテクチャの一般化である。リザーバーコンピューティングは、古典的な意味でのネットワークではなく、空間および/または時間において連 続的なシステムである物理システムにも拡張される。例えば、文字通りの「水の入ったバケツ」がリザーバーとして機能し、表面の擾乱として与えられる入力に 対して計算を実行できる。[9] このような再帰的ニューラルネットワークが生み出す複雑性は、言語処理や動的システムモデリングを含む様々な問題の解決に有用であることが判明した。 [8] ただし、再帰型ニューラルネットワークの学習は困難で計算コストが高い。[8] リザーバーコンピューティングは、リザーバーの動的特性を固定し線形出力層のみを学習させることで、こうした学習関連の課題を軽減する。[8]

多種多様な非線形力学系が、計算を実行するリザーバーとして機能し得る。近年では半導体レーザーが、電気部品と比較して高速かつエネルギー効率の良い計算が可能であることから、大きな関心を集めている。

人工知能と量子情報理論の両分野における近年の進展が、量子ニューラルネットワークの概念を生み出した。[10] これらは量子情報処理において有望であり、古典的ネットワークでは困難な課題に対処できるが、古典的問題の解決にも応用可能である。[10][11] 2018年には、分子固体内の核スピンを用いた量子リザーバーコンピューティングアーキテクチャの物理的実現が実証された。[11] ただし[11]の核スピン実験は、逐次データの処理を伴わなかったため、量子リザーバーコンピューティングそのものを実証したものではない。むしろデータ はベクトル入力であり、これはより正確にはランダムなキッチンシンク[12]アルゴリズム(一部のコミュニティではエクストリームラーニングマシンとも呼 ばれる)の量子実装の実証である。2019年には、二次元フェルミオン格子を用いた量子リザーバープロセッサの別の実装案が提案された[11]。2020 年には、ゲート型量子コンピュータ上でのリザーバーコンピューティングの実現が提案され、クラウドベースのIBM超伝導型近未来量子コンピュータ上で実証 された。[13]

リザーバーコンピューターは時系列分析目的に利用されてきた。特に、カオス的時系列予測[14][15]、カオス信号の分離[16]、ネットワークの動的特性からのリンク推論[17]などの用途がある。

古典的リザーバーコンピューティング
リザーバー
リザーバーコンピューティングにおける「リザーバー」とは、コンピュータの内部構造を指し、二つの特性を持つ必要がある。すなわち、個々の非線形ユニット で構成されること、そして情報を保存できることである。非線形性は各ユニットの入力に対する応答を記述し、これがリザーバーコンピューターが複雑な問題を 解決できる理由である。リザーバーは、ユニットを再帰ループで接続することで情報を保存できる。このループでは、前の入力が次の応答に影響を与える。過去 の反応に基づく変化により、コンピュータは特定のタスクを遂行するよう訓練される。[18]

リザーバーは仮想的または物理的である。[18] 仮想リザーバーは通常、ランダムに生成され、ニューラルネットワークのように設計される。[18][8] 仮想リザーバーは非線形性と再帰ループを持つように設計できるが、ニューラルネットワークとは異なり、ユニット間の接続はランダム化され、計算中ずっと変 わらない。物理的貯留器は、特定の自然システムに内在する非線形性によって実現可能である。水面上の波紋間の相互作用には貯留器形成に必要な非線形力学が 含まれており、パターン認識用RCは、まず電動機で波紋を入力し、その後読み出し部における波紋を記録・分析することで開発された。

読み出し
読み出し層は、リザーバの出力に対して線形変換を行うニューラルネットワーク層である。[1] 読み出し層の重みは、既知の入力による励起後のリザーバの時空間パターンを解析し、線形回帰やリッジ回帰などの学習手法を用いて訓練される。[1] その実装はリザーバの時空間パターンに依存するため、読み出し手法の詳細はリザーバの種類ごとに調整される。[1] 例えば、液体容器をリザーバーとするリザーバーコンピューターの読み出しでは、液面上の時空間パターンを観察することが含まれる。[1]

種類
コンテキスト残響ネットワーク
リザーバーコンピューティングの初期の例として、コンテキスト残響ネットワークがある。[19] このアーキテクチャでは、入力層が高次元力学系に供給され、学習可能な単層パーセプトロンによって読み出される。二種類の動的システムが記述された:固定 されたランダム重みを持つ再帰型ニューラルネットワークと、アラン・チューリングの形態形成モデルに着想を得た連続反応拡散システムである。学習可能な層 において、パーセプトロンは現在の入力を動的システム内で反響する信号と関連付ける。後者は入力に対する動的な「文脈」を提供するとされた。後の研究の用 語では、反応拡散システムがリザーバーとして機能した。

エコー状態ネットワーク
詳細記事: エコー状態ネットワーク
ツリーエコー状態ネットワーク(TreeESN)モデルは、リザーバーコンピューティングの枠組みを木構造データへ一般化したものである。[20]

液体状態マシン
詳細記事: 液体状態マシン
カオス的液体状態マシン

カオス的液体状態マシン(CLSM)[21] [22]あるいはカオス的貯留層は、カオス的スパイクニューロンから構成されるが、機械の学習済み入力を記述する単一の仮説に収束することで活動を安定化 させる。これは安定化しない一般的な貯留層とは対照的である。液体の安定化は、液体内部の神経接続を支配するシナプス可塑性とカオス制御を介して生じる。 CLSMは感度の高い時系列データの学習において有望な結果を示した。[21][22]

非線形過渡計算
この情報処理は、時間依存入力信号が機構の内部ダイナミクスから逸脱する際に最も重要となる[23]。こうした逸脱は過渡現象や一時的な変動を引き起こし、装置の出力に反映される[23]。

深層リザーバー計算
リザーバー計算フレームワークをディープラーニングへ拡張した深層リザーバー計算(Deep Reservoir Computing)と深層エコー状態ネットワーク(DeepESN)モデル [24][25][26][27]により、時系列データの階層的処理のための効率的に訓練されたモデルを開発できると同時に、再帰型ニューラルネットワー クにおける層状構成の固有の役割に関する調査を可能にする。

量子リザーバー計算
量子リザーバー計算は、量子力学的相互作用やプロセスの非線形性を用いて特徴的な非線形リザーバーを形成する可能性がある[10] [11][28][13] を形成する。ただし、リザーバーへの入力注入によって非線形性が生じる場合、線形リザーバーでも実現可能である[29]。機械学習と量子デバイスの融合 は、新たな研究領域として量子ニューロモーフィックコンピューティングの出現を導いている[30]。

種類
相互作用する量子調和振動子のガウス状態
ガウス状態は、連続変数量子系の状態の典型的なクラスである[31]。現在では、例えば最先端の光学プラットフォーム[32]において、デコヒーレンスに 対して自然に頑健な状態で生成・操作が可能だが、状態のガウス性を保つ変換が線形であるため、例えば汎用量子計算には不十分であることはよく知られてい る。[33] 通常、線形ダイナミクスは非自明なリザーバーコンピューティングにも不十分である。しかしながら、相互作用する量子調和振動子のネットワークを考え、振動 子の一部を周期的に状態リセットすることで入力を注入することにより、このようなダイナミクスをリザーバーコンピューティング目的に活用することが可能で ある。この振動子サブセットの状態が入力に依存する方法を適切に選択すれば、残りの振動子の観測量は入力の非線形関数となり、リザーバーコンピューティン グに適する。実際、これらの関数の性質のおかげで、観測量を多項式読み出し関数と組み合わせることで、普遍的なリザーバーコンピューティングさえ可能にな る。[29] 原理的には、このようなリザーバーコンピュータは制御された多モード光パラメトリック過程で実装可能である[34]。しかし、測定の逆作用を考慮しなけれ ばならない量子領域では特に、システムからの出力の効率的な抽出が課題となる。

2次元量子ドット格子
このアーキテクチャでは、格子点間のランダム結合がリザーバに「ブラックボックス」特性を付与する。これはリザーバプロセッサに固有の性質である。その 後、入射光場によってリザーバが励起され、これが入力として機能する。読み出しは格子点の占有数として行われ、これらは入力に対する自然な非線形関数とな る。

分子固体中の核スピン
このアーキテクチャでは、分子固体内の隣接原子のスピン間の量子力学的結合が、高次元計算空間を創出するために必要な非線形性を提供する。[11] その後、関連する核スピン共鳴周波数に調整された高周波電磁放射によってリザーバが励起される。[11] 読み出しは核スピン状態の測定によって行われる。[11]

ゲートベースの近未来超伝導量子コンピュータにおけるリザーバ計算
量子コンピューティングの最も一般的なモデルはゲートベースモデルであり、量子コンピューターの量子ビットに対してユニタリー量子ゲートを順次適用するこ とで量子計算が行われる。[35] ゲートベース量子コンピューター上でのリザーバーコンピューティング実装に関する理論と、複数のIBM超伝導ノイズ中間規模量子(NISQ)コンピュー ターにおける原理実証実験[36]が[13]で報告されている。

https://en.wikipedia.org/wiki/Reservoir_computing


リンク

文献

その他の情報

Copyleft, CC, Mitzub'ixi Quq Chi'j, 1996-2099

池田蛙  授業蛙  電脳蛙  医人蛙  子供蛙


++

Copyleft, CC, Mitzub'ixi Quq Chi'j, 1996-2099