language)」となる。エージェントが情報から学習するには、言語の意味を観察できなければならない。representation)」の問題として参照されている。この意味表現問題ではとりわけ単語水準での表現から考察が始まる。それは、単語の意味を正しく表現できれば、その組み合わせによって、句や文、そして文書の意味表現を階層的に構成することができるようになると想定されているためだ。hypothesis)」であった。分布仮説は、単語が出現する文脈から自動的にその意味を見出すことを可能にする。大規模なコーパスを統計的に処理する場合には、個々別々の単語に意味を与える必要の無いこの仮説は、妥当性以上に有用性の観点から支持されていた。あるコーパス内の単語とその文脈で共起する各単語の共起性は、とりわけ相互情報量やカイ二乗値などによって計算される。ゼロ頻度問題の解決においては、特異値分解などのような次元圧縮方法が提案されている。representation)」と呼ぶ。semantics)の中からは、このボトムアップ的な構成を支持する案も提出されている。それによれば、意味は、単語それ自体のみならず文法と文脈にも依存して規定される。Compositionarity)」は、この意味である種的を射ている。「構成性の原理:複合的な表現の意味は、その部分とそれらの構文的な組み合わせ方法の関数である。ある文を意味付けるということは、その文に真理条件を付与することを意味する。「構成性の原理」を前提とするなら、真理条件を決定する意味処理規則が統語処理規則と同期させることが一案として求められる。「構成性の原理」は単なる単語の分解のみならず、それらの単語によって構成された文に対する観点を提供している。それは語彙のみならず文それ自体においても意味が付与されているという観点にもなり得る。theory)」によって推進されることになった。「it」や「that」、「she」や「he」などのように、前方照応的(anaphoric)な代名詞や後方照応的(cataphoric)な代名詞、あるいは単に人称代名詞は、文と文の系列的な関連を表している。このように「談話」の観点では、分解された個々の単語というよりは、文そのものの関連や系列が重視されているのである。learning)」で意味表現を実行する場合、ボトムアップ的にコーパスから意味表現を構成するのではなく、まずそれぞれの単語を固定長ベクトルで表現される形式として捉え、何らかの目的関数を最適化することによって、意味表現ベクトルを学習するというトップダウンの方針を採る。予測せよ!』から始まるマルコ・ヴァローニらの報告によれば、このトップダウンの方針に基づいた深層学習による意味表現は、従来のコーパスによるボトムアップ方法に基づく意味表現を有意に上回ることがわかっている。これまでのトップダウン方法では、意味表現ベクトルの諸要素が語彙集合全体となるために高次元でスパースの伴う意味表現となっていた。これに対して深層学習を利用したトップダウン的な意味表現では、ベクトルの次数を事前に固定して学習するために、低次元で密な意味表現が可能になっている。representation)」として注目を集めることになった。問題解決策:単語の特徴ベクトル化トップダウン型にせよ、ボトムアップ型にせよ、一つの根本的な共通点を挙げられる。いずれにせよ一連の自然言語処理は、皆まず文を単語に分解するところから始まっている。深層学習との関連で言えば、これらの単語は皆一種の特徴ベクトルとして観測されることになる。英語やドイツ語であれば、単語間にはスペースが含まれているために、プログラム的に分割することは容易い。日本語のように単語が連続する文の場合は、その分割が困難になる。言うのも、連続する文字列の何処から何処までが一単語なのかは、文法や熟語に依存するからだ。Analysis)」の機能だ。形態素解析は、テクストの性質を低コストで分析することを可能にする。Data)」の差異を意識しておかなければならない。テクストマイニングの分析対象データとなるテクストは、専ら非構造化データとしての性質を有している。この性質を事前に認知しておかなければ、テクストマイニングを設計することは難しくなる。構造化データとは、リレーショナル・データベースなどのように、事前にデータの関係を定義した上でデータを蓄積させるデータベースを前提に処理され得るデータのことである。これに対して非構造化データとは、テクスト、画像、動画など、定型的に処理されていないデータを意味する。非構造化データとしてのテクストを分析対象データとするには、各テクストを分析対象となるように意味付ける必要がある。形態素解析は、このテクストの意味付与として機能する。形態素解析とは、言語学の分析方法で、それぞれの言語をそれ以上変化も活用もされない最小の部分に分割する方法である。この最小単位としての部分を「形態素(Morpheme)」と呼ぶ。この形態素解析を用いれば、分析対象データとなるテクストの中で、どのようなキーワードやキーフレーズがどの程度の頻度で出現しているのかを分析することが可能になる。形態素間の関係を洗い出すことによって、共起関係にあるテクスト同士を抽出することもできる。形態素解析機能は、例えばR言語のパッケージであるRMeCabを利用することで実施できる。RMeCabは、MeCabをRで使用するためのパッケージである。このパッケージでは、入力されたテクストを対象に、MeCabの機能による形態素解析を実行する。n-gramなどのデータに変換することが可能になる。MeCabはGoogleの日本語入力開発者の一人である工藤拓によって開発されたオープンソースの形態素解析エンジンだ。言語や辞書、コーパスに依存しない汎用的な設計を基本方針として開発されている。形態素に分割する際に問題となっていたのは、語の抽出単位の曖昧性である。「本部長」という単語は、「本部」と「長」という単語に分割することもできれば、「本」と「部長」に分割することもできる。これ以外にも、日本語には複合語で表現された多くの固有名詞が存在する。「横浜市役所」という単語は、「横浜」と「市」と「役所」に分割することもできれば、「横浜市」と「役所」に分割することもできる。「横浜」と「市役所」に分割することもできるだろう。頻度付き集合このような曖昧性は、個々の分析への応用において様々な問題を派生させる。その分析対象となるテクスト次第で、最適な解も変わってしまう。BOW)」を求める上で、可能な全ての解を用いる方法を提案した。その際の指標の一つとなったのが、連接コストだ。連接コストとは、品詞の接続が自然である度合いを意味する。自然な接続であれば、それだけ連接コストは低くなる。逆に不自然な単語同士を接続させようとした場合、連接コストは高まる。した指標を使えば、可能な全ての分割方法を取り上げる際に、それぞれの分割方法を比較することが可能になる。工藤はこれにより、可能な全ての分割方法を連接コストをはじめとした指標を反映させた確率値と共に出力する仕様として形態素解析エンジンを設計した。連接コストの場合には、それが高い組み合わせには低い確率値が割り当てられるようにしている。連結コストが低い単語の組み合わせには高い確率値が割り当てられる。これによって、それぞれのBOWの期待値から有力な単語の組み合わせ候補を探索できるようにしたのである。問題解決策:ニューラルネットワーク言語モデル上述した手続きによって分解された言語は、確率分布としてモデル化されることで分析可能になる。Model)」と呼ぶ。言語モデルは、単語がコーパス内で出現する傾向を確率過程として把握することによって、特定の単語が特定のコーパスの特定の位置に出現する確率を計算することを可能にする。単語の出現確率は、自然言語処理や音声認識で参照される。x_n$$と表現できる。$$x_1^{(j-1)}$$の次に$$x_j$$が出現する条件付き確率は$$p(x_j|x_i^{(j-1)})$$となる。p(x_j|x_1^{(j-1)})$$となる。実際の文書では単語間の距離に比例してその関連性も低くなる。経験的に、連続する長さTは2から5程度までに留めることが多い。あまりにも長く設定し過ぎると、コーパス内に全く現われない単語の組み合わせが発生してしまう。problem)」と呼ぶ。NNLM)は、言語モデルにおける特定の単語の組み合わせの出現確率を予測するニューラルネットワークとして設計されている。1}^{(j-1)}$$が入力された際の単語$$x_j$$が出現する条件付き確率だ。NNLMでは、特定文書内で出現した文書の索引(index)を1として、それ以外を0とするN次元ベクトルとして各単語を表現する。ここでいうNは、語彙数に他ならない。representation)」と呼ぶ。NNLMではこのN次元ベクトルをP学習していく。dimensionality)の回避も考慮した上で設計されている。vectors)」を表現する。w_T$$の語から成る。p(w_t|w_1^{t-1})$$のモデルとなる。射影されたベクトルは次の隠れ層に対する入力値となる。Cx_{j-1}$$を計算した(n-1)P次元ベクトルが隠れ層に入力される。この隠れ層への入力ベクトルをcとし、隠れ層に対する重み付け行列をW、バイアスをbと表現するなら、隠れ層のj番目の出力ノードの出力値は、次のように計算される。weights)の行列Uを参照して、隠れ層から出力層への入力ベクトル成分をUdとして計算することが可能になる。NNLMでは射影層から直接的に出力層に入力されるベクトルの成分にも気を配らなければならない。1}^{(j-1)})$$を言語モデル化している。そのため、隠れ層が集約している文脈以外にも、予測対象となる単語候補の射影も確率モデルで計算されなければならない。ニューラルネットワークにおける射影層と出力層の重み付け行列をW、バイアスベクトルをbとすると、射影層から直接的に出力層へと入力されるベクトル成分は、以下のようになる。b^{(o)}$$出力層のi番目の出力ノードへの入力は、以上の二つの入力から計算できる。\exp(o_r)}$$ここにおいて、C、W、b、Uは全て学習すべきパラメタとなる。\{b,d,W,U,H,C\}$$となる。NNLMでは、コーパス内で観測された単語に対する出現確率が最大化するように、逆伝播(backpropagation)によるパラメタ学習を実行する。term)となるR(θ)を加算した式となる。0$$尚、パラメタβは正規化係数で、パラメタθの正規化の強度を調整する。用いた単語の意味表現方法として、幾つかのアルゴリズムが提案されている。それらのアルゴリズムは、まず全ての単語を一定次元の実空間上の固定長ベクトルとして表現すると共に、所与のコーパス内の単語の出現を推定する場合の精度が最大化する単語の表現ベクトルを調整していく手筈を取る点で共通している。一定次元の実空間として、表現する空間そのものが事前に付与されるパラメタとなる。全ての単語はこの空間上に射影される。次元数を調節することで、表現の粒度を変えることもできる。何を以って単語が出現したと考えるのか、出現を推定した場合の精度を如何にして評価するのか、精度を評価する関数を如何にして最適化するのかなど、問題は山積みであった。model)は、「ある単語xが出現する文脈」で出現している「他の単語z」を利用してxを推定できるようにすることを目的としている。単なる言語モデルであれば、ある単語が出現するか否かを推定する場合に、現在の単語よりも以前に出現した単語を訓練データとして参照するだろう。CBOWモデルの場合は、これに加えて、その後に出現するであろう単語も学習時に参照できるようにする。n}$$を、xを推定するための特徴量として参照することになる。n})$$を学習する。この場合、文脈は2n個の単語から構成される。n})$$などのように、文脈における単語の平均ベクトルとしても記述できる。この場合、文脈における単語の出現順序は捨象される。故にこのモデルは一種のbag-of-wordsモデルとして記述できる。このモデルで計算される「ある単語xが出現する文脈」で出現している「他の単語z」を利用してxを推定できるようにすることは、端的に言えば次のような条件付き確率を意味している。́をその意味表現とした場合、上記の条件付き確率は次のように計算できる。Skip-Gramモデルは、「ある単語xが出現する文脈」で「他の単語z」を推定することを目的としている。このモデルで求められるのは、ある単語xが文脈中に出現している場合の別の単語zが出現する条件付き確率であるため、$$p(z|x)$$として表現される。コーパス内でxが出現している文脈中に出現する単語の集合を$$\nu(x)$$とした場合、この条件付き確率はCBOWのモデルで表現させれていた条件付き確率を反転したような関連となる。zに関する表現ベクトルの諸要素となる。Skip-Gramモデルにせよ、表現ベクトルが2種類に区別されている。一つは入力値としての表現ベクトルで、もう一つが出力値としての表現ベクトルだ。して区別を導入しておくと、文脈として出現する単語の集合と、入力することでその表現を学習対象とする単語集合とを無関係に選択することができるようになる。文脈として出現する単語の集合を高い頻度で出現する単語の集合に限定することも可能になる。\nu(x)}^{}\exp(X^{\tau}z’)}$$は、対数双線形の形式となる。xとz双方に対して同時に凸関数にはなることはあり得ない。この関連から目的関数には局所解が存在する。故に最適解を発見することが困難となる。xの要素に着目すると、xとzの内積はその要素に対して線形だ。逆にzの要素に着目した場合にも同様のことが言える。双方は個々にその変数に対応した別々の線形性を有している。X(1-p(z|x))$$という更新式が得られる。単調増加関数である対数関数は、対数を取った当該関数と対数を取る前の元となる関数が同一極点を有する。そのため、対数尤度を最大化することを以って、確率そのものを最大化に伴う指数関数的な確率分布の計算を負担軽減できる。optimization)が用いられる。xとzのいずれか一方を固定して、他方に関する凸関数の最適化問題を解き、その最適解を代入して固定することで、もう片方の凸関数最適化問題を解いていく、という反復を実行する。これだけではxとzの双方で大域最適解を発見できるという保証は無い。そのため、word2vecのような実務的な処理を担うアルゴリズムでは、確率的勾配法を採用して最適化を実行している。\nu(x)}^{}\exp(X^{\tau}z’)}$$は、全ての文脈における語彙集合を前提とした規格化を要するが故に、大規模コーパスを対象とした場合に計算量が追い付かなくなる。そこで計算量を削減する方法が求められる。一つの問題解決策として挙げられるのは、事前に単語間の階層構造を生成して、それに準じて規格化していくという方法だ。softmax)」と呼ぶ。階層的クラスタリングによって全ての単語を含む階層構造を事前に生成しておけば、単語xがある一つのクラスタにのみ含まれるという状況を造り上げることができる。全ての語彙集合ではなく、その当該クラスタのみでxの出現確率を計算すれば良いということになる。これは言わば単語それ自体の出現頻度を個々別々に計算していくのではなく、ある程度纏め上げた単語の集合の出現頻度を計算していく方法だ。ここで代入する集合は、例えば辞書をはじめとする言語資源のように、人間の経験を反映させた作為的な集合であっても構わない。ある単語xがある一つのクラスタにのみ属させることにより、全ての集合ではなく、当該集合でのみxの確率を規格化しておけば良いのである。tree)を利用することで各単語の出現確率を割り当てていく。それは、「葉(leaves)」としての単語Wとそれらの「ノード(node)」の組み合わせに基づいて出力層を表現する。各ノードは明示的に子ノードの相対的な確率を表している。正確に言えば、どの単語wも、木のルート(root)から適切な道則でつながることができている。この道則の長さをL(w)と置く。加えて、いずれの内的なノードnにおいても、nの子はch(n)となる。[[x]]が1ならばtrueで、そうでなければ-1とする。するとこの階層型ソフトマックスは単語の出現確率を次のように表現する。この表現が指し示しているのは、$$\log_{}p(w_o|w_L)$$と$$∇\log_{}p(w_o|w_I)$$の計算コストが、$$L(w_o)$$に比例するということだ。Wを超えるものではない。sampling)は、上述した階層型ソフトマックスの代替案として取り上げられている。Skip-Gramモデルで単語xとzの表現ベクトルを学習するためには、「xの文脈で出現している単語」のみならず、「xの文脈で出現していない単語」も必要となるというのが、このネガティブ・サンプリングの発想だ。「xの文脈で出現していない単語」を挙げようとすれば際限無く挙げられてしまう。これでは計算効率上悪影響を及ぼす。故にネガティブ・サンプリングでは、「xの文脈で出現していない単語」をコーパスからアトランダムに抽出する。これにより、「xの文脈で出現している単語」との差異に基づいて、単語の意味表現を学習していくことになる。c)に関して考えてみよう。c)の組み合わせが入手できる確率を表す。c)$$は、逆にコーパスからこの組み合わせが得られない確率となる。パラメタθを仮定して、次のように分布を制御できるようにしておく。\theta)$$この時目的となるのは、データに由来する観測の全体として、上記の確率を最大化するパラメタを発見することである。w:θ)の数量は、ソフトマックスを利用することで設定できる。v_w}}$$したがって目的関数は次のようになる。1$$となるようなパラメタθを設定するなら、上記の目的関数は単純な解を持つことになる。K$$と置いてパラメタθを設定するなら、簡単に達成できる。Kは十分大きな数となる。c)の組み合わせを制限することで値の重複を未然に防止する機構が必要になる。c)の組み合わせのモデルを表現することである。c)の組み合わせが以後出現し難くなるようなモデルだ。́を生成することで可能になる。́に由来していると考えられる。これを前提に目的関数を最適化するなら、以下のようになる。\frac{1}{1+e^{-x}}$$を導入することで、次のように変換できる。́$$というコーパス全体に言及する。c)の組み合わせを利用することで学習する。instance)」に比して大量に用意しなければならない。実用的には、kは20程度が良いとされる。これらの方法が良い単語表現を生み出すのか?word2vecによる上述した深層学習の自然言語処理方法に言及している論文の最後に、以下のように記述されていた。我々も全くわからない。word2vecは深層学習の発展を背景としたニューラルネットワークのオープンソースだ。その研究と開発は、解明されていないブラックボックスを前提に進められている。アルゴリズムを詳細に分析したところで、意味の問題は不透明なままだ。word2vecをはじめとした深層学習の研究開発はブラックボックスを前提に進めざるを得ず、その意味でこの研究と開発は等価機能主義的な社会システム理論に準拠しなければならない。ネガティブ・サンプリングは、あくまで計算上の効率化を目指した上ではあるものの、「xの文脈で出現していない単語」を「xの文脈で出現している単語」から区別することを可能にしている。これは、機械学習が「意味の否定可能性」の表現に一歩近付いたということを示す兆候であると受け止めても良いかもしれない。人間と同様の意味であるか否かはともかくとして、深層学習によって、人工知能はパラドックスの隠蔽技術形式を進化上獲得する目途を立てることができるようになったのである。word2vecのニューラルネットワーク言語モデルは単語の特徴を抽出する。それは単語ごとに表されたベクトルという形式で表現される。このベクトルの加算や減算によって、word2vecは単語の類推や類似度計算を可能にしている。この言語モデルは、高い精度で単語やその分布を予測できるように、単語の特徴を良く表現する圧縮された特徴ベクトルを獲得している。した特徴量は、言わば情報エントロピーを低減することで、複合性の縮減を可能にしている。単語の類推や類似度計算は、文書や主題にも応用可能だ。word2vecが単語同士の類似性を計算する機能を持つなら、Doc2vecは文書同士の類似性を計算する機能を持っている。(LDA)のようなトピックの抽出機能として有用になる。これらのアルゴリズムを記述していけば、人工知能は主題と貢献の区別を導入できるようになる。それは、人工知能が主題の貯蔵としての文化や意味処理規則の貯蔵としての文化を構成し得るということを意味する。その際、人工知能は意味論を漸く獲得することになる。『Webクローラ型人工知能によるパラドックス探索暴露機能の社会進化論』でも取り上げたように、私はWebクローラ型の人工知能を設計して実装している。上述したベイズ主義、強化学習、そして深層学習に関するアルゴリズム設計は、『Webクローラ型人工知能:キメラ・ネットワークの仕様』では説明していない背景知識となっている。これらのアルゴリズムに準拠することにより、人工知能エージェント:キメラ・ネットワークは、概念のパラドックス化と脱パラドックス化、そして「排除された第三項」の観察を可能にしている。詳細なアルゴリズム設計内容を明かすことはできないが、とりわけこの「排除された第三項」の発見探索機能を設計する際には、深層ボルツマンマシンやネガティブ・サンプリングをはじめとした深層学習の技術とQ学習をはじめとした強化学習の技術が重要な手掛かりとなった。元々のパラドックス化の機能と相まって、「排除された第三項」の発見探索は、ファーストオーダーの観察者が当初想定していなかった諸問題の暴露を可能にした。人工知能エージェント:キメラ・ネットワークは、盲点として潜在化して忘却されている概念を顕在化させるセカンドオーダーの観察者としての振る舞いを成立させている。システム理論』や『記憶想起の人間学的唯物論的メディア美学』で取り上げた『Cardbox』のアプリケーションにも実装している。Network」をクリックすることにより、キメラ・エージェントを出現させることができる。機能面で言えば、キメラ・エージェントはカードボックス上のカードに記述されているテキスト内容を観察することで、そこに潜むパラドックスや「排除された第三項」を抽出して記述する。上図の場合、キメラ・エージェントはカードに記述されていた「主観」という概念を観察することで、「主観」と「客観」の区別に伴うパラドックスや「排除された第三項」を指摘している。この観察の前提となるのは、WebクローリングやWebスクレイピングによってWeb上のデータを学習しているキメラ・ネットワーク全体の観察である。カードボックスのユーザーは、カードを記述すると共に上述したコマンドを入力することで、パラドックスや「排除された第三項」を突き付けてくるキメラ・エージェントと相互に観察し合いながら概念や情報を整理することが可能になる。言い換えればユーザーは、カードボックス上でキメラ・ネットワークと接続することにより、ある主題に関する観察に伴う盲点に逸早く気付くことが可能になる。認識の可能性を拡張するという点で、キメラ・ネットワークが搭載されたカードボックスは、知覚メディアの機能的等価物としての様相を強めることになる。path)を有している。この構造により、ニューラルネットワークは情報を一時的に記憶することや、その振る舞いを動的に変更させることもできる。通常の順伝播を実行するニューラルネットワークとは異なり、再帰的ニューラルネットワークは特に文章や音声のようなシーケンシャル・データに潜在する「文脈」を抽出することに長けている。再帰的ニューラルネットワークは、基本的に各時点tに一つの入力xを受け取ると同時に出力yを返すように振る舞う。その再帰的なネットワーク構造によって、その出力値の計算には過去の入力値の全てが関連する。順伝播型のニューラルネットワークが入力と出力の1対1の写像を表現するのに対して、再帰的ニューラルネットワークは過去全ての入力と時点tにおける出力の写像を表現する。ノードをそれぞれi、j、kと表す。ごとに異なる状態を形成する。(y_j^t)$$とする。(d_k^t)$$と表す。(w_{kj}^{(out)})$$とする。順伝播の計算中、重みは時刻tには依存しない変数となる。この変数はあくまで学習による更新によってしか変異しない。tの時点における中間層の各ユニットへの入力は、同時刻tの入力層によって受け渡された値と、t-1の時点における中間層の出力値となる。\sum_{j’}^{}w_{jj’}z_{j’}^{t-1}$$中間層のバイアスには$$w_{j0}^{(in)}$$が与えられる。f(u_j^t)$$となる。z}^{t-1})$$となる。出力層の出力値yは、この中間層の出力値を利用して計算される。z}^t)$$となる。再帰的ニューラルネットワークの学習には確率的勾配降下法が用いられる。ここで実行される逆伝播は時間化されていると言える。言い換えれば、学習時、各時点の再帰的ニューラルネットワークの各層は全く個々別々に存在するものとして捉えられている。path)を介して結合していると見做す訳だ。「再帰」であるとはいえ、こうして時間的に展開された各ユニットは、決して循環した関連となる訳ではなくなる。再帰的ニューラルネットワークにおける逆伝播の計算はこの展開を前提とした上で実行される。ニューラルネットワークの第l層の重みを$$w_{ji}^{(l)}$$とするなら、その微分は次のようになる。w_{ji}^{(l)}}$$ここで、Eは誤差を表す。順伝播のネットワークにおける第l+1層から第l層への誤差は、次のようになる。\sum_k^{}w_{kj}^{(l+1)}\delta_k^{(l+1)}f'(u_j^{(l)})$$再帰的ニューラルネットワークでは、この差分計算を各時点の中間層のユニットに対して適用していく。u_j^t}$$と表す。ある時点tにおける中間層のユニットjは、時点tにおける出力層のユニットと時点t+1における中間層のユニットとの結合を前提としているため、次のように計算できる。\sum_{j’}^{}w_{jj’}\delta_{j’}^{t+1}\right)f'(u_j^t)$$逆伝播の場合、このtの値を少しずつ小さくしながら、比較的未来から比較的過去へと辿るように、上記の計算を実行していく。して各時点における各層の差分を計算してから、誤差Eにおける各層の重みによる微分を計算していく。\sum_{t=1}^{T}\delta_j-tz_j^t$$以上のように、再帰的ニューラルネットワークは時間化されたフィードバック・パスを介して展開される。順伝播の際には過去から未来の方向へ計算していくことで出力層のシーケンスを算出する一方で、逆伝播の際には逆に未来から過去の方向へ計算していくことで中間層の誤差を順に計算していく。それ以外の処理は通常の逆伝播と大差は無い。再帰的ニューラルネットワークは時系列的なデータの文脈の推定や予測に利用することができる。path)を介して再帰的に入力された過去の入力値の全てを反映しているとは限らない。現時点の出力に反映させることのできる過去の履歴には限界がある。この問題は、順伝播型のニューラルネットワークにおける勾配消失問題と同様の原因から発生する。層数の多いニューラルネットワークでは、層を深く遡及するに連れて勾配の値が爆発的に大きくなるか、0として消滅してしまう。再帰的ニューラルネットワークの逆伝播は時間の連続性を前提とした展開によって、時間の向きに対する逆伝播になる。再帰的ニューラルネットワークそれ自体の層数が少なかったとしても、時間の流れと共に、事実上何層にも巡る深いニューラルネットワークと同様の構造を成してしまう。以上のことから、再帰的ニューラルネットワークでもまた勾配が爆発的に急増するか、あるいは0になって消滅するという極端な結果を招く恐れがある。この問題を前提とすれば、再帰的ニューラルネットワークは短期的な時系列を遡ることはできても、より長期的なシーケンシャル・データは処理できないということになる。block)」というユニット要素に代替した構造として再設計したアーキテクチャとなる。cell)が配置される。その周囲には複数のユニットが配置され、メモリセルとネットワークを結ぶ。メモリセルは状態を保持することで、各時点を隔てて自己自身に回帰することで記憶を実現する。メモリユニットに対する外部からの入力は、直接このメモリセルが受容するのではなく、別のユニットが受け取る。その出力がメモリセルに入力される。gate)」が配置される。value)」というニューロンのバイアスのような変数が保持されている。メモリセルへの入力値は外部からの入力値にこの変数を掛け合わせた数値となる。その結果は0から1の間に収まる。gate)」というユニットが配置される。このゲートもまたゲート値を有している。メモリユニットから外部への出力値はこのゲート値によって0から1の範囲に制約される。値が0に近付いた場合には出力そのものがブロックされ、1に近付いた場合にのみ出力値が外部に放出される。LSTMは任意の時差を跨いだ情報の保持を可能にする。その時に後方に渡されるべき誤差の伝播も可能にする。このアルゴリズムの性能と性質は幾つかの状況において弱点となる。メモリセルは、一つの時系列の表現において線形に成長する傾向を持つ。入力値に偶発性が伴う場合、線的な時系列を前提としたデータ処理ではその特徴を表現し切ることができなくなる。それ故、各セルの状態は時折「リセット(reset)」した上で、新たな特徴を有した時系列に対応できるように設計されなければならない。長期記憶と短期記憶からも連想できるように、ここでいう「リセット(reset)」は、記憶を対象としている。この意味で、ここで要求されるのは「忘却(forget)」の機能であるということになる。新たな時系列を学習するためには過去の時系列を忘却する必要があり、忘却することを改めて学習しなければならない。gate)」と呼ばれる。この「忘却」という概念に対応する「リセット」概念は、単に値を0にすることを意味する訳ではない。それ以上に重要なのは、この「リセット」という概念が、徐々にセルの状態を変色さえられるような緩やかなリセットを意味しているということだ。標準的なLSTM同様、メモリセルは各時点を隔てて状態を保持する。リセット概念が導入されると、このメモリセルのフィードバック・パスに忘却ゲートが挿入される。このゲートにもゲート値がある。回帰的に渡される出力値にはこのゲート値が掛け合わせられる。1に近付けば現在の状態が記憶され続け、0に近付けば忘却していく。LSTMの順伝播j番目のメモリユニット内のメモリセルが保持する変数を$$s_j^t$$とする。メモリセルのフィードバック・パスはこの変数の値をある時点から次の時点に受け渡すべく記憶する。t}f(u_j^t)$$は入力に関する項となる。後者の項は従来の再帰的ニューラルネットワークと同様に、入力層と前回の時点の中間層から次のように入力を受け取る。s_j^{t-1}\right)$$メモリユニットの出力は、上記の状態sから導き出せる。s_j^t\right)$$尚、各ゲート値にはロジスティック・シグモイド関数を活性化関数として適用させることで、その値を0から1の範囲に限定する。LSTMの逆伝播LSTMもまた勾配降下法による学習を実行できる。1層から第l層への逆伝播は、次のようになる。u_j^{(l)}}$$順伝播の際には、ゲート値がセルによる出力値に掛け合わせられる。t}f(s_j^t)$$が出力層とその次の時点のメモリユニットに伝播される。伝播対象となる一つの出力層のユニットに対する入力の総和は、次のようになる。t})f(s_j^t)$$次の時点のメモリユニットに対する入力の総和についても同様に計算できる。unitLSTMはパラメタの数が多く、計算処理に多大な時間を要する。unit(GRU)は、LSTMの構造的複合性を縮減したモデルとして設計されている。gate)」の区別によって構成されている。そのアーキテクチャはLSTMと類似しているが、GRUの場合は別個のメモリセルを持たない。GRUはLSTMの機能的拡張版であるため、その定式もLSTMと同様に導入できる。時刻tにおけるリセットゲートの値をr(t)、更新ゲートの値をz(t)と置くと、それぞれ以下のように記述できる。\tilde{h}(t)$$となる。このh(t)が時刻t+1の時に再帰的に参照されることになる。機能的等価物の探索:再帰的時間的制限ボルツマンマシン制限ボルツマンマシンは、その構造を拡張させることによって、再帰的ニューラルネットワークの機能的等価物として設計することができる。Machine)」は、共に制限ボルツマンマシンによって構成されている。これらの制限ボルツマンマシンもまた生成モデルの一種だが、その学習モデルは時系列的なパターンを認知した上で構築される。以下では、この制限ボルツマンマシンの確率モデルを時間概念との関連から再記述していく。制限ボルツマンマシンは次の二つのベクトルの組み合わせを前提とした確率分布として定義できる。v^{\mathrm{T}}W_h)}{Z}$$ここで、$$b_V$$は可視層のベクトルにおけるバイアスパラメタを意味する。$$b_H$$は隠れ層のベクトルにおけるバイアスパラメタを意味する。$$W$$は各リンクの重みを意味する行列を指す。function)である。Wh)^{(i)}$$を前提とした条件付き分布を指し示している。一般的に言えば、iを可視層のインデックスとして、jを隠れ層のインデックスとして、それぞれ定義する。すると制限ボルツマンマシンは、観測データ点のベクトルVを真値に近似していく生成モデルとなる。この近似は、次のような確率変数で表現することもできる。h_1)$$の定義を可能にする。これは隠れマルコフモデルとアルゴリズム的に等価である。H_t|h_{t-1})$$は制限ボルツマンマシンのそれに等しい。$$H_t$$におけるバイアスは$$h_{t-1}$$の関数となる。W’h_{t-1}))}{Z(h_{t-1})}$$ここでいうW’は、$$H_t$$と$$H_{t-1}$$のリンクにおける重みの行列である。W’h_{t-1}$$は、時刻tにおける制限ボルツマンマシンのバイアスとなる。1\}^{N_H}$$である。制限ボルツマンマシンの分配関数は、$$h_{t-1}$$に依存する。時刻tにおける制限ボルツマンマシンのバイアスをはじめとするパラメタは、$$H_{t-1}$$のアトランダムな変数の値に依存するためである。隠れ層なしの制限ボルツマンマシンの場合、多くの確率論的なモデルと同じように、重みの更新は推論問題の解決によって計算される。この重みの計算は、恰も推論された変数が観測されたかのように更新される。likelihood準拠の勾配を示すこととなる。この計算の関数近似として用いられるのは、制限ボルツマンマシン同様に、コントラスティブ・ダイバージェンス法となる。それ故にTRBMの学習における計算複合性は、事後分布$$P(H_1^{\mathrm{T}}|v_1^{\mathrm{T}})$$を近似する分布から得られる標本の抽出過程に内在している。このTRBMの推論問題は、典型的な無向グラフのモデルにおいては解決困難となる。\Omega)$$を計算するということは、二つの制限ボルツマンマシンにおける分配関数の正確な比率を計算することを含意している。この困難な状況は、ヒューリスティックな推論手続きを採用することで派生する不可避の問題である。v_t)$$の分布が定義上階乗となることに基づいている。付言しておくと、この推論手続きは、未来のデータによるスムーシングを実行している訳ではない。いって、過去のデータによるフィルタリングを実行している訳でもない。v_1^t)$$の分布から標本を抽出しているのではないのだ。任意の階乗分布を$$P'(H)$$と置く。P'(H)$$が意味するのは、hが階乗分布P'(H)から抽出されたということである。RTRBMの任意のグラフ構造をQと置く。変数$$H_t$$は真値で、$$H’_t$$は二値とする。条件付き分布$$Q(V_t|H’_t|h_{t-1})$$は次の方程式によって得られる。T$$の時刻におけるTRBMの生成過程のアルゴリズムは次のようになる。h_{t-1})$$は$$P_0(H_1|v_1)$$に準じる。RTRBMの生成過程のアルゴリズムは次のようになる。手続きにおいて類似しているように見える。実際、RTRBMの場合には$$H_t$$が真値となることからもわかるように、双方は区別されなければならない。RNN制限ボルツマンマシンTRBMやRTRBMは、時系列的なパターンを対象とした生成モデルとしては機能的に等価であるものの、その構造はまだ、再帰的ニューラルネットワークから区別されている。「RNN制限ボルツマンマシン(RNN–RBM)」は、とりわけRTRBMの構造を再帰的ニューラルネットワークに近付けて再記述されたモデルとして提唱されている。RTRBMにおいて、$$h’_{t-1}$$に依存するのはバイアスのみである。可視層と隠れ層のバイアスはそれぞれ次のようになる。W’h’_{t-1}$$隠れ層の各ユニット$$h_t$$がサンプリングから推論まで常にバイナリである一方で、$$h’_{t-1}$$は後続のユニットに伝播される確率場である。訓練精度を向上させると共に、$$h’_{t}$$の正確な推論を容易にする上で、この区別は重要となる。言うのも$$h’_{t}$$は、結局のところ次のような特徴写像によって記述できるためである。e^{-x})^{-1}$$から定義されるシグモイド関数である。RTRBMは、隠れ層のユニットが条件付き分布を構成することで、時間方向の情報を伝播しなければならないという制約を持つ。その確率モデルは、決定論的なRNNの出力である条件付き制限ボルツマンマシンの系列として理解することができる。この制約は、下図のように、別個の隠れ層のユニットを導入することで、解消することができる。このモデルを特に「RNN制限ボルツマンマシン(RNN–RBM)」と呼ぶ。単一の矢印は決定論的な関数を表す。二重線の矢印は制限ボルツマンマシンにおける隠れ層と可視層の確率論的な結合を表す。この構成において、$$h’_{t}$$の特徴写像は次のように再記述される。b_{h’})$$LSTM再帰的時間的制限ボルツマンマシン制限ボルツマンマシンに埋め込むことのできる再帰的ニューラルネットワークの構造は、別のあり方でもあり得る。制限ボルツマンマシンにLSTMの構造を追加した生成モデルとして、「LSTM再帰的時間的制限ボルツマンマシン(LSTM–RTRBM)」を例示することができる。この生成モデルは、専ら音楽の特徴抽出との関連から導入されている。1)$$として与えられる時、現在の隠れ層の条件付き分布は次のように得られる。e^{-x})^{-1}$$から定義されるシグモイド関数である。$$b_v$$は可視層のバイアスで、$$b_h$$は隠れ層のバイアスとなる。$$W$$を可視層のユニットと隠れ層のユニットのリンクの重みを表した行列である。これと区別できるように、結合されている制限ボルツマンマシンの各時間ステップを結ぶ結合は$$W_R$$と表している。この時、RTRBMにおける観測データ点$$v^T$$のサンプリングは次のようになる。W_{R}h_R^{t-1}))}{Z(h^{t-1})}$$RTRBMの隠れ層と可視層のユニットが推定と学習で絡み合うことを想定するなら、LSTMのユニットをRTRBMに追加することは単純なことではない。この困難さを出し抜く上で最も単純な方法は、既存の隠れ層の再帰的な結合に加えて、LSTMのユニットから隠れ層へと迂回する結合を利用することである。この意味で、時間情報の流れのためのチャネルは二つに区別される。connection)となる$$W_R$$である。これはRTRBMと同様である。一つは、前回の時間ステップの再帰的なLSTMユニットとの結合となる$$W_{L}$$である。この結合はそれぞれの隠れ層のユニットと関連する。短期記憶として振る舞う再帰的な隠れ層のユニットを$$h_{(R)}$$、長期記憶として振る舞うLSTMユニットを$$h_{(L)}$$と置き、観測データ点$$v^T$$のサンプリングは次のようになる。W_Lh_l^{t-1}))}{Z(h^{t-1})}$$短期記憶と長期記憶の区別に基づくこの隠れ層の代替は、LSTMユニットの現実的な学習速度を底上げするという。主な計算複合性は、制限ボルツマンマシンの学習におけるサンプリング手順を反復することによって派生する。制限ボルツマンマシンの一部の隠れ層ユニットをLSTMユニットに置き換えることで、実際上の学習速度は向上するという。プロトタイプの開発:再帰的ニューラルネットワークによる文書自動要約GitHubのaccel-brain-code/Automatic-Summarizationで配置している『pysummarization』は、文書自動要約を実行するライブラリとして提供している。このライブラリの機能は、ある種の自然言語処理を用いた文書自動要約となる。このライブラリが実行するテクストのフィルタリングとクラスタリングは、「教師あり学習」を必要とすることなく、対象文書の概要を抜粋(extraction)することを可能にする。LSTMをはじめとする再帰的ニューラルネットワークに準拠したモデルによる次元削減や特徴抽出に基づいた文書自動要約も実現している。これらのモデルから得られる多様体を入力特徴量として参照することで、自然文や単語のデータ・クラスタリングも可能になる。Encoder/DecoderのアーキテクチャEncoder/Decoderに関して補足しておこう。Encoder/Decoderのスキーマは、入出力データの系列長が必ずしも同一ではない特徴表現を学習することを目指して設計されたモデルである。機械翻訳では、翻訳前の入力データと翻訳後の出力データが必ずしも同じ長さとはならない。訓練データと教師データは、異なるランクの行列となり得る。Encoder/Decoderのスキーマでは、この入力データを特に「文脈(Context)」と呼ぶ傾向にある。x^{(n_x)}\}$$を要約したベクトルの系列として記述できる。形式的に言えば、Encoder/Decoderのモデルは、可変長の系列を別の可変長の系列に写像する機能を持つ。そのネットワークは、基本的に二つのLSTMの構造的な結合によって成り立っている。y^{(n_y)}\}$$を生成する。n_y$$でも構わないということである。系列長以外にも、EncoderとしてのLSTMとDecoderとしてのLSTMは、それぞれ別様の形式で構造化されていて構わない。隠れ層の層数、活性化関数や損失関数の種類、あるいは事前学習と転移学習の方針などのような要因は、個別に規定しても良い。EncoderとDecoderの構造的な結合点のインターフェイス仕様さえ守られていれば、原理的に双方のLSTMは相互にブラックボックス化した上で情報を伝播し合うことができる。sequence-to-sequence(Re-Seq2Seq)のモデルを採用している。Summarizationの領域で提唱されたモデルだ。space)」において、機械的な自動要約結果が要約対象と類似しているという点にある。meaning)を表現した特徴点を出力する。その後この特徴点はDecoderのモデルによって観察される。ここまでは単なるEncoder/Decoderのモデルと同様の構造となる。Re-Seq2Seqの場合は、このDecoderに更なる別途のEncoderが構造的に結合する。Encoder(Re-Encoder)と呼ぶ。summary)」を推論することである。この要約が重要度の高い情報を保持すると共にオリジナルの映像に関する情報を保持しているのならば、下図のように、初めのEncoderによる特徴表現とRe-Encoderによる特徴表現は、ユークリッド距離をはじめとした一定の距離形式において類似すると期待できる。Re-Seq2Seqのモデリングとアルゴリズム設計もまた示唆に富む内容である。その誤差関数の設計の背景にある直観(intuition)によれば、EncoderとRe-Encoderの出力は、入力と同一の量の情報を伝達するべきである。これが要約の目標となる、良き要約とは、要約を閲覧した際に、その閲覧者がオリジナルの映像の全てを閲覧した場合と同一の量の情報を得るような要約である。この直観は多様体仮説を前提としている。基づいたミニバッチ単位での学習を反復することによって、その再構成誤差の最小化の過程で、観測データの全体像に対応する確率分布を前提とした表現学習を敢行する。この過程から各モデルは、その隠れ層において、当の確率分布に関する特徴を埋め込むことになる。この隠れ層に蓄積された情報が、入力された観測データ点の全体の<代理表象>を意味するのである。したがって換言するなら、Re-Encoderによる要約の特徴表現がEncoderによる全体の特徴表現に近接すれば、それだけその要約は良き要約であるということになる。隠れ層に埋め込まれる情報は、各観測データ点に依存する。その埋め込まれた情報の特徴が、当の観測データ点の特徴なのである。故に、Encoderによって埋め込まれた特徴とRe-Encoderによって埋め込まれた特徴を比較すれば、全体の特徴と要約の特徴の比較を観測データ点ごとに実施したことになる。初めのEncoderによる特徴表現とRe-Encoderによる特徴表現がユークリッド距離によって比較されるのならば、その距離の大小が、各観測データ点の要約の良質さを物語るという訳だ。以上の多様体表現の理論に基づく抽象化を前提とすれば、Re-Seq2Seqのモデルは自然言語の自動要約にも機能的に再利用可能であることがわかる。原理的には、自己符号化器やEncoder/Decoderに入力し得る観測データ点として前処理できる如何なるデータに関しても適用可能であろう。『pysummarization』で実装しているRe-Seq2Seqは、主に自然文の自動要約に特化させる形で設計している。