導入最近では、機械学習、ディープラーニング、人工ニューラルネットワークに関する議論がますます増えています。しかし、プログラマーは多くの場合、これらの魔法のフレームワークを使いたいだけであり、舞台裏でどのように動作するかを知りたがらない人がほとんどです。しかし、その背後にある原理を理解できれば、それを使用したほうが良いのではないでしょうか。 今日は、リカレント ニューラル ネットワークと、その背後にある基本的な数学的原理について説明します。この原理により、リカレント ニューラル ネットワークは他のニューラル ネットワークではできないことが可能になります。 〄 RNN(リカレントニューラルネットワーク)。 この記事の目的は、リカレントニューラルネットワークの機能と構造を直感的に理解できるようにすることです。 ニューラル ネットワークは通常、独立変数 X (または独立変数のセット) と従属変数 y を受け取り、X と y 間のマッピングを学習します (これをトレーニングと呼びます)。トレーニングが完了すると、新しい独立変数が与えられたときに、対応する従属変数を予測できるようになります。 しかし、データの順序が重要な場合はどうなるでしょうか?すべての独立変数の順序が重要だとしたらどうなるでしょうか? これを直感的に説明しましょう。 それぞれのアリが独立変数であると仮定する限り、1 匹のアリが異なる方向に進んでも、他のアリには影響しないはずですよね?しかし、アリの順序が重要な場合はどうなるでしょうか? この時点で、1 匹のアリがグループを逃したりグループから離れたりすると、その後ろにいるアリに影響が及びます。 では、機械学習の分野では、データのどのような順序が重要なのでしょうか?
では、全体的な順序が重要なデータを RNN はどのように解決するのでしょうか? RNN を説明するために、自然なテキスト データを例として使用します。 映画のユーザーレビューに対して感情分析を実行しているとします。 「この映画は良い - 肯定的」から「この映画は悪い - 否定的」へ。 単純な Bag of Words モデルを使用して分類し、予測 (肯定的または否定的) することはできますが、待ってください。 レビューでこの映画は良くないと言われたとしたらどうしますか? BOW モデルではこれは良い兆候だと言っているかもしれないが、そうではない。そして、RNN はそれを理解し、否定的な情報として予測します。 1. RNN はどのようにそれを実現するのでしょうか?1. さまざまなRNNモデル(1)1対多RNN は画像などの入力を受け取り、単語のシーケンスを生成します。 (2)多対一RNN は単語のシーケンスを入力として受け取り、単一の出力を生成します。 (3)多対多次に、2 番目のモードである多対 1 に焦点を当てます。 RNN への入力は時間ステップとして考慮されます。 例: input(X) = [" this ", " movie ", " is ", " good "] これのタイムスタンプはx(0)、映画のタイムスタンプはx(1)、のタイムスタンプはx(2)、goodのタイムスタンプはx(3)です。 2. ネットワークアーキテクチャと数式RNN の数学的世界に飛び込んでみましょう。 まず、RNN セルが何で構成されているかを理解していきましょう。フィードフォワードニューラルネットワーク(FFNN)の一般化についてはご存じだと思います。 〄 隠れ層に単一のニューロンを持つフィードフォワードニューラルネットワークの例。 〄 単一の隠れ層を持つフィードフォワードニューラルネットワーク。 フィードフォワード ニューラル ネットワークには、X (入力)、H (隠し要素)、Y (出力) があります。隠し層の数は任意ですが、各隠し層の重み W と各ニューロンに対応する入力重みは異なります。 上記では、出力 Y に対する 2 つの異なる層の重みに対応する重み Wy10 と Wy11 があり、Wh00、Wh01 などは入力に対する異なるニューロンの異なる重みを表しています。 時間ステップのため、ニューラル ネットワーク ユニットにはフィードフォワード ニューラル ネットワークのセットが含まれます。ニューラル ネットワークには、順次入力、順次出力、複数の時間ステップ、複数の隠れ層という特性があります。 FFNNとは異なり、ここでは入力値だけでなく、前のタイムステップ値からも隠れ層の値を計算します。隠れ層の重み (W) は各タイムステップで同じです。以下に、RNN の全体像とそれに関連する数式を示します。 図では、時間ステップ t における隠れ層の値を計算しています。 〄 異なる活性化関数。 上記では Ht のみを計算しましたが、同様に他のすべての時間ステップも計算できます。 ステップ: 以下の点に注意してください。 フィードフォワード入力が完了したら、クロスエントロピーをコスト関数として使用して、エラーを計算し、バックプロパゲーションを使用してエラーを逆伝播する必要があります。 3. BPTT (時間経過によるバックプロパゲーション)通常のニューラル ネットワークの仕組みがわかっていれば、残りは簡単です。そうでない場合は、このアカウントの人工ニューラル ネットワークに関する以前の記事を参照してください。 次のことを計算する必要があります。
W はすべてのタイムステップで同じなので、戻って更新する必要があります。 〄 RNN での BPTT。 RNN でのバックプロパゲーションは ANN でのバックプロパゲーションと同じであることを覚えておいてください。ただし、ここでは現在のタイム ステップが前のタイム ステップに基づいて計算されるため、最初から最後まで前後に移動する必要があります。 連鎖律をこのように適用すると 〄 バックプロパゲーションチェーンルール。 W はすべての時間ステップで同じなので、連鎖律によって項の数が増えます。 例に戻るさて、感情分析の問題に戻りましょう。ここに RNN があります。 入力として単語ごとに単語埋め込みまたは 1 つのホットエンコードされたベクトルを提供し、フィードフォワードと BPTT を実行します。トレーニングが完了すると、新しいテキストを与えて予測を行うことができます。 「no + 肯定的な言葉 = 否定」といったことを学習します。 RNN の問題 → 勾配消失/爆発問題 W はすべてのタイムステップで同じなので、バックプロパゲーション中に重みを戻して調整すると、信号が弱くなりすぎたり強くなりすぎたりして、消失または爆発の問題が発生します。 |
>>: 人と「人」の対立を実感する: よく使われるAIセキュリティツールのインベントリ
業界ではよく知られているデータサイエンスのウェブサイトである KDnuggests は昨日、4 月の...
8月20日、北京人工知能学院と清華大学知能産業研究所(AIR)は、両者が「清華(AIR)-AI健康...
今年初め、OpenAI は ChatGPT がサードパーティのプラグインを統合できるようにし、Cha...
[[212077]]本質的に、ディープラーニングは、ディープニューラルネットワーク構造(多くの隠れ...
(NetEase Intelligence English ソース/Engadget 翻訳/Mach...
全国的に人材不足が進む中、テクノロジーは雇用者が厳しい市場で最高の人材を見つけるのに役立ちますが、人...
6月26日に開催されたセコイア・グローバル・ヘルスケア産業サミットで、スタンフォード大学のフェイフ...
人工知能 (AI) が漠然とした流行語を超えてより正確な意味合いを持つようになるにつれて、AI 分野...
天津の不動産管理会社は、コミュニティへの出入りの唯一の方法として顔認証を使用していたとして住民から訴...
近い将来、現実世界についての抽象的な推論を実行する能力において、コンピューターは人間に匹敵することは...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[[220562]]編纂者:小凡文、肖怡月、江宝尚長らくお待ちいただいておりましたが、ついにAIリ...
[[311763]]人工知能はもはや、いつか世界を変える準備をしているのではなく、すでに世界を変えて...
最近では、すべての家族が行動を起こす準備ができています。 OpenAI 開発者会議が近づく中、マスク...