回帰型ニューラル・ネットワーク(RNN)は、順次データまたは時系列データを使用する一種の人工ニューラル・ネットワークです。 これらのディープ・ラーニング・アルゴリズムは、言語翻訳、自然言語処理(NLP)、音声認識、および画像キャプションなどの順序問題または一時的な問題によく使用されます。これらは、Siri、音声検索、Google翻訳など人気のあるアプリケーションに組み込まれています。 フィードフォワード・ニューラル・ネットワークや畳み込みニューラル・ネットワーク(CNN)のように回帰型ニューラル・ネットワークは、トレーニング・データを活用して学習します。 過去の入力から情報を取り込み、現在の入出力に影響を及ぼす場合は、「メモリー」で区別されます。 従来のディープ・ニューラル・ネットワークは、入力と出力が互いに独立していると考える一方、回帰型ニューラル・ネットワークの出力は、シーケンス内の過去の要素に依存します。 将来のイベントは、特定のシーケンスの出力の決定にも役立ちますが、単一方向の回帰型ニューラル・ネットワークでは、予測を行う際にこれらのイベントを考慮することができません。
体調が悪いときによく使われる「feeling under the weather(調子が悪い)」というイディオムを使用して、RNNについて説明していきます。 イディオムが意味をなすためには、そのイディオムが定められた順序で表現されている必要があります。 その結果、回帰型ニューラル・ネットワークは、イディオム内のそれぞれの単語の位置を考慮し、この情報を使用してシーケンス内の次の単語を予測します。
回帰型ニューラル・ネットワークのもう一つの特徴は、ネットワークの各層でパラメーターを共有することです。 フィードフォワード・ネットワークは、各ノードで異なる重みを持ちますが、回帰型ニューラル・ネットワークはネットワークの各層で同じ重みのパラメーターを共有します。 それでもこれらの重みは、誤差逆伝播法や勾配降下法のプロセスを通じて調整され、強化学習を促進します。
回帰型ニューラル・ネットワークは通時的誤差逆伝播法(BPTT)アルゴリズムを活用し、勾配を決定します。その通時的誤差逆伝播法は、シーケンス・データに特有のもので、従来の誤差逆伝播法とはわずかに異なります。 BPTTの原則は、従来の誤差逆伝播法と同じです。出力層から入力層へのエラーを計算することで、モデルは自己をトレーニングします。 これらの計算により、モデルのパラメーターを適切に調整し、修正できます。 BPTTは、時間ステップごとに誤差を合計するという点で、従来のアプローチとは異なります。その一方でフィードフォワード・ネットワークは、各層でパラメーターを共有しないので、誤差を合計する必要がありません。
このプロセスを通じて、RNNは勾配爆発と勾配消失という2つの問題に直面する傾向があります。 これらの問題は勾配のサイズで定義されます。その勾配は、誤差曲線に沿った損失関数の傾斜です。 勾配が小さすぎる場合、小さくなり続け、重みパラメーターがわずか(つまり0)になるまで、重みパラメーターを更新し続けます。 そのような事態が発生すると、アルゴリズムはもはや学習を行いません。 勾配が大きくなりすぎて不安定なモデルを作成すると、勾配爆発が発生します。 この場合、モデルの重みは過度に大きくなり続け、最終的にはNaNと表示されるようになります。 こうした問題の解決法の1つは、ニューラル・ネットワーク内の隠れ層の数を減らし、RNNモデル内の複雑性の一部を排除することです。
Watson Studio
Watson Machine Learning Accelerator
フィードフォワード・ネットワークは1つの入力を1つの出力にマップします。上の図では、この方法で回帰型ニューラル・ネットワークを可視化していますが、実際にはこのような制約はありません。 その代わり、入力と出力の長さはさまざまで、異なるタイプのRNNが音楽の生成、感情の分類、および機械翻訳などのさまざまなユースケースで使用されます。
ニューラル・ネットワークの詳細に関する記事で述べたように、活性化関数によって、ニューロンを活性化する必要があるかどうかが決まります。 非線形関数は通常、特定のニューロンの出力を0と1の間、または-1と1の間の値に変換します。
双方向性回帰型ニューラル・ネットワーク(BRNN):これは、RNNのネットワーク・アーキテクチャーのバリアントです。 単一方向のRNNは、過去の入力のみから引き出して、現在の状況に関する予想を行うことができる一方、双方向のRNNは将来のデータを引き出して、データの精度を向上させます。 この記事で先ほど挙げた「feeling under the weather(調子が悪い)」のイディオムの例に戻ると、モデルはシーケンスの最後に来る単語が「weather」だと知っていれば、このフレーズの2番目の単語は「under」だと予測できます。
長・短期記憶(LSTM) :これはよく使用されるRNNアーキテクチャーですが、勾配消失の問題の解決策としてSepp Hochreiter氏とJuergen Schmidhuber氏によって導入されました。 彼らの論文(PDF、 388 KB)(IBM外部へのリンク)では、長期の依存関係の問題のについて言及されています。 これは、現在の予測に影響を及ぼす過去の状況が直近の過去でない場合、RNNモデルは正確に現在の状態を予測できない場合があるというものです。 たとえば、次の文の中で斜体になっている言葉を予測したいとします。「アリスはナッツ・アレルギーです。 彼女はピーナッツ・バターを食べられません」。 ナッツ・アレルギーというコンテキストは、食べられないものの中にナッツが含まれるという予想をする上で役立ちます。 しかし、そのコンテキストが(直前の文章では無く)少し前にある文章のものだった場合、RNNが情報をつなげることは困難もしくは不可能です。 これを解決するために、LSTMはニューラル・ネットワークの隠れ層に「セル」を備えています。これには、入力ゲート、出力ゲート、忘却ゲートの3つのゲートが含まれます。 これらのゲートは、ネットワーク内で出力を予測するのに必要な情報の流れをコントロールします。 たとえば、「彼女」のような性別を表す代名詞が、その前にある文で複数回繰り返されていた場合、セル状態からこれを除外できます。
ゲート付き回帰型ユニット(GRU):このRNNのバリアントは、LSTMと似ており、RNNモデルの短期記憶の問題に対処します。 「セル状態」を使って情報を規制する代わりに、隠れ状態を使用します。また、ゲートは3つでなく、リセット・ゲートと更新ゲートの2つです。 LSTM内のゲートど同様に、リセット・ゲートと更新ゲートは、どの情報をどれくらい保持するのかということをコントロールします。
IBMは過去数十年から現在にいたるまで、AIテクノロジーとニューラル・ネットワークの開発における先駆者であり、それを裏付けるのがIBM Watsonの開発と進化です。 AIの採用と実装に実績のある段階的アプローチを使用して、高度な自然言語処理とディープ・ラーニングのテクノロジーをシステムに適用しようとしている企業にとって、Watsonは信頼できるソリューションです。
また、IBM Watson Machine LearningなどのIBM製品は、TensorFlow、Keras、PyTorchなどの人気のあるPythonライブラリーに対応しています。これらのPythonライブラリーは回帰型ニューラル・ネットワークでよく使用されています。 IBM Watson StudioやWatson Machine Learningなどのツールを活用し、企業は、モデルを任意のクラウドで導入、実行しながら、オープンソースのAIプロジェクトをスムーズに稼働させることができます。
人工知能テクノロジーの使用を開始する方法について詳しく知りたい方は、IBM Watson Studioを参照してください。