この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。 活性化関数は人工ニューラル ネットワークの駆動要因です。ニューロンの上部に配置され、特定の入力データを処理する必要があるかどうか、また、処理する必要がある場合はどの程度まで処理するかなど、ニューロンの動作を管理します。技術的に言えば、ノードのアクティベーション関数は、ニューラル ネットワーク内の前のノードからデータを受け取り、特定の値を出力します。これにより、後続のノードが特定の入力信号に応じてどのように動作するかが指示されます。
この記事では、活性化関数で構成されたニューラル ネットワークとそのバイオシミラーを分析し、一般的に使用されるいくつかの活性化関数を簡単に紹介します。 ニューラルネットワークの構造 データサイエンス愛好家であれば、上記の画像や類似の画像を見たことがあるはずです。この図は、2 層ニューラル ネットワークのワークフローを典型的に説明したものです。図に示すように、ネットワークは猫や犬の写真を分類します。 2 つの隠し層があり、各層にはニューロンの列が含まれており、1 列に 16 個のニューロンがあります。画像を局所的にズームインし、第 2 層の最初のニューロンを拡大します。 部分拡大するとこんな感じになります。このニューロンは前の 16 個のニューロンから信号を受信することに注意してください。ニューロンは接続重みを信号で乗算し、その積にバイアス項を加えて計算結果を取得します。この計算結果は v と呼ばれます。この v は、ニューロンによる入力画像の認識とみなすことができます。 ニューロンは入力信号を認識した後、対応する応答を生成することができ、そこで活性化関数がその役割を果たします。活性化関数は f() と呼ばれ、認識から応答へのマッピングで値 a を生成し、前の層の特定のニューロンが信号に応答したことを示すサインとして次の層のニューロンに渡されます。 生物学的類推 徐々に熱くなっていく鉄鍋の上に手を置くと、温度が一定の閾値を超えると、思わず手を離したくなるでしょう。手を離したときの鍋の正確な温度を知る必要はありませんが、実際のパラメータに基づいて選択を行ってください。これはニューロンの発火であり、ニューロンが発火すると、コマンドが末梢(この場合は手)に伝達されます。 これが活性化関数、または少なくともそれに似たものの由来です。ここでは実際のデータは冗長であり、ニューロンはしきい値を超えているかどうかを判断するだけで済みます。 私たちの知る限り、生物学的ニューロンと人工ニューロンの大きな違いは、前者は活性化するか活性化しないかの 2 つの結果しかないのに対し、後者は一定の範囲内である程度活性化できる点です。 活性化関数の種類 さまざまな活性化関数が存在します。問題を解決する順序でこれらの関数のいくつかを見てみましょう。 問題1: 学習の問題 初期の頃、ニューラル ネットワークの目標は自己学習であり、線形関数はその目的に非常に適していました。 v = wa + b の近似が直線 y = mx + c の方程式と非常に似ているため、これは線形関数と呼ばれます。 問題2: 非線形問題 線形関数は右側のデータに非常によく適合しますが、左側ではそれほどうまく機能しません。非線形に分散されたデータセットが機械学習の分野を支配しており、活性化関数がネットワークに非線形性を注入する唯一の適用可能な方法であるため、関数は線形にすることはできません。この問題を解決できる一般的な関数は次のとおりです。 シグモイド関数: 関数に値を入力すると、出力値の範囲は (0,1) になります。入力値が小さいほど出力値は 0 に近づき、入力値が大きいほど出力値は 1 に近づきますが、どちらの制限にも達することはありません。 Tanh 関数: 双曲正接関数とも呼ばれます。 tanh 関数は、出力値の範囲が (-1, 1) であることを除いて、シグモイド関数と非常によく似ています。右側がシグモイド関数の画像、左側がtanh関数の画像です。 問題3: 勾配消失問題 グラフをもう一度観察すると、シグモイド関数の曲線は限界値に近いほど平坦になっています。つまり、入力の絶対値が非常に大きい場合、出力値の変化は明らかではありません。これにより学習率が大幅に低下します。これは勾配消失問題として知られており、プロセスが進むにつれて勾配(つまり学習)が消失します。 ReLU 関数はこの問題を解決し、実際、現代のニューラル ネットワークのデフォルトの活性化関数となっています。 ReLU 関数: ReLU 関数は Rectified Linear Unit の略で、最も興味深く、直感に反する関数かもしれません。これはほぼ直線関数ですが、原点で曲がっているため、区分関数です。 近似線形関数がどのようにしてこの問題を解くのか、とよく聞かれます。図から、勾配消失問題をほぼ完全に回避できることは明らかです。単一の ReLU 関数は面倒ですが、複数の ReLU 関数は状況によっては無敵になることがあります。 線形関数では全く近似できず、tanh関数は滑らかな円曲線を描こうとするため、最終的に六角形のReLU関数が登場します。これは、時計の針のように、一方の端で結合された 2 本の直線と考えることができます。 ここで、このような線が 100 万本あると想像してください。この配置を使用して、任意の非線形形状をモデル化できます。 ReLU の優れた点は、ほぼ線形であり、複数のグループを組み合わせると、角の角度を変更することでほぼあらゆる形状をシミュレートできることです。 これが、対処すべき最後の質問につながります。 質問4: 確率と問題 隠し層が何を行うかに関係なく、最終的な目標は何らかの予測を生成することです。この場合、入力オブジェクトがラベル付けされたオブジェクトである確率を含む確率ベクトルを出力することです。たとえば、最初の図のニューラル ネットワークの結果は次のようになります。
最も可能性の高い結果は猫です。猫の確率は 0.7 で、これが最も高い確率だからです。 全結合層の最終出力値を正規化された確率ベクトルに変換するには、ベクトルを受け入れて別のベクトルを出力し、出力ベクトルのすべての要素の合計が 1 になる関数が必要です。結局のところ、それが確率ベクトルなのです。 シグモイド関数は出力値が 0 から 1 の範囲であるため確率関数に非常に近いですが、合計が 1 になる状況は満たしません。 Softmax 関数はこの要件を満たすことができます。 Softmax 関数: この関数はベクトルを受け取り、次の関数を使用して出力ベクトル内の各要素に対応する確率を計算します。 関数の分母は、出力値が 1 を超えないように、すべての可能な分子の合計になります。 活性化関数についてご存知ですか? |
<<: 2021年には、人工知能が私たちの生活にさらに統合されるでしょう。これは何を意味するのでしょうか?
>>: 初心者と専門家のための機械学習に関するベスト 10 書籍
[オリジナル記事は51CTO.comより] あっという間にワールドカップが終わりに近づいています。サ...
[[125412]]クラウド サービスの停止が発生すると、通常はフェイルオーバー メカニズムがアクテ...
Zhidongxi は 11 月 1 日に北京から、この日 (寒くて風が強い)、2017 Micro...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
紙: http://wanghao.in/paper/NatureMedicine21_MSA.pd...
人工知能はここ2年で急速に発展し、狂気のレベルにまで達しました。例えば、ロボットは人間社会の「市民」...
人工知能と機械学習は市場で注目されている技術であり、その重要性は 2020 年にピークに達しました。...
[[432791]]中国消費者協会(以下、「中国消費者協会」)は10月28日、事業者に対し、個人情報...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
機械学習システムを分類する 1 つの方法は、一般化の程度によって分類することです。ほとんどの機械学習...
自然言語処理は AI の最高峰であり、コーパス前処理は自然言語処理の基礎です。 [[336067]]...
ロボティック・プロセス・オートメーション (RPA) はもはや目新しいものではなく、進化し成熟しつつ...
JetBrains は 11 月 21 日に、世界中の 26,348 人の開発者からの調査結果をまと...