ジェレミー・ハワード氏はかつて、Generative Adversarial Network (GAN) コースで次のように述べました。「本質的に、GAN は単なる別の損失関数です。」 この記事では、上記の点を適切かつ関連性のある文脈で説明し、GAN の「学習された」損失関数のシンプルさと美しさについて説明します。 まず、背景知識をいくつか紹介しましょう。 関数近似の観点から見たニューラルネットワーク 数学では、関数を機械と考えることができます。機械に 1 つ以上の数値を入力すると、それに応じて 1 つ以上の数値が生成されます。 機能を「マシン」または「ブラックボックス」と比較します。 (画像出典: https://www.wikiwand.com/en/Function_%28mathematics%29) 関数を数式として表現できたらいいなと思います。しかし、目的の関数を一連の加算、減算、乗算、除算として記述する方法がわからない、またはまだわからない場合はどうすればよいでしょうか (たとえば、入力が猫の画像か犬の画像かを判別する関数)。 数式で表現できない場合は、少なくとも関数を近似することはできますか? ニューラルネットワークが救いの手を差し伸べます。普遍近似定理によれば、十分な数の隠れユニットを持つ十分に大きなニューラル ネットワークは「任意の関数」を計算できます。 4 つの隠れユニットを持つ単純なニューラル ネットワークは、ピラミッド関数を近似します。 (画像出典: http://neuralnetworksanddeeplearning.com/chap4.html) ニューラルネットワークの明示的な損失関数 ニューラル ネットワークができたので、分類関数を明示的に表現せずに、上記の猫と犬の分類関数を徐々に近似するニューラル ネットワークを構築できます。 関数の近似精度を向上させるには、まずニューラル ネットワークが現在のパフォーマンスがどの程度悪いかを把握する必要があります。ニューラル ネットワークのエラーを計算する方法は、損失関数と呼ばれます。 利用できる損失関数は多数あり、損失関数の選択は特定のタスクによって異なります。ただし、すべての損失関数には 1 つの共通する特性があります。それは、損失関数を正確な数式で表現できる必要があるということです。
損失関数は、ニューラル ネットワークの近似特性の品質を決定する上で非常に重要な役割を果たします。特定のタスクに適した損失関数を理解して選択することは、ニューラル ネットワーク ビルダーにとって最も重要なスキルです。 現在、より優れた損失関数の設計も非常に活発な研究分野です。たとえば、論文「Focal Loss for Dense Object Detection」では、単一ステージのオブジェクト検出モデルの不均衡を解決するために、「Focal loss」と呼ばれる新しい損失関数が紹介されています。 明示的な損失関数の限界 上記の損失関数は、分類、回帰、画像セグメンテーションなどのタスクには非常に有効ですが、出力がマルチモーダル分布を持つ場合にはあまり効果的ではありません。 白黒写真のカラー化タスクを例に挙げてみましょう。 L2 損失関数の背後にある思考プロセス。 (画像出典: https://youtu.be/8881p8p3Guk?t=2971)
平均二乗誤差に基づいて予測された次のフレーム画像は非常にぼやけています。 (画像出典: https://arxiv.org/pdf/1605.08104.pdf) この平均化効果は、多くの場合、非常に悪い結果につながる可能性があります。動画の次のフレームを予測するタスクを例に挙げてみましょう。次のフレームにはさまざまな可能性があり、必要なのは「それらのフレームの 1 つ」を出力できるモデルです。ただし、モデルが L2 または L1 を使用してトレーニングされている場合、モデルはすべての可能な結果を平均化し、非常にぼやけた均質化された画像を生成します。 新しい損失関数としてのGAN まず、複雑な関数 (たとえば、入力が数値のセットで、出力が犬のリアルな画像である関数) の正確な数学的表現がわからないため、ニューラル ネットワークを使用してこの関数を近似します。 ニューラル ネットワークには、現在のパフォーマンスがどの程度優れているかを示す損失関数が必要ですが、明示的な損失関数ではこの役割をうまく果たすことができません。 そうですね、明示的な数式を必要とせずにニューラル ネットワークの損失関数を直接近似する方法があればいいのですが。ニューラルネットワークのようなものですか? では、明示的な損失関数をニューラル ネットワーク モデルに置き換えたらどうなるでしょうか? おめでとうございます。GAN を発見したことになります。 これは、以下の GAN アーキテクチャと Alpha-GAN アーキテクチャを通じてより明確に確認できます。図に示すように、白いボックスは入力を表し、ピンクのボックスと緑のボックスは構築するネットワークを表し、青いボックスは損失関数を表します。 GANアーキテクチャ Alpha-GAN アーキテクチャ オリジナルの GAN には、損失関数が 1 つだけあります。それは、それ自体が別のニューラル ネットワークである識別ネットワーク D です。 Alpha-GAN では、モデルには 3 つの損失関数があります。入力データの識別子 D、エンコードされた潜在変数の潜在コード識別子 C、および従来のピクセル レベルの L1 損失関数です。このうち、D と C は明示的な損失関数ではなく、その近似値、つまりニューラル ネットワークです。 勾配 識別器(ニューラル ネットワーク)を損失関数として使用してジェネレータ ネットワーク(Alpha-GAN のエンコーダ)をトレーニングする場合、識別器をトレーニングするにはどのような損失関数を使用する必要がありますか? 識別器のタスクは、実際のデータ分布と生成されたデータ分布を区別することです。教師あり方式で識別器をトレーニングする場合、ラベルは自由に利用できるため、バイナリクロスエントロピーなどの明示的な損失関数を使用して識別器をトレーニングするのは簡単です。 しかし、識別器はジェネレータの損失関数であるため、識別器のバイナリクロスエントロピー損失関数の累積勾配もジェネレータネットワークの更新に使用されることになります。 GAN の勾配の変化を観察することで、その軌道を変更するための新しいアイデアを見つけるのは非常に簡単です。明示的な損失関数の勾配が 2 つのニューラル ネットワーク (識別器と生成器) 間で逆流できず、3 つのニューラル ネットワーク間で逆流できる場合、どこに適用できるでしょうか。勾配が従来の損失関数を介して逆流できず、これらのニューラル ネットワーク間で直接行き来できる場合はどうなるでしょうか。第一原理から始めると、未踏のパスや未回答の質問を簡単に見つけることができます。 結論は GAN では、従来の損失関数をニューラル ネットワークと統合することで、ニューラル ネットワークを損失関数として使用して別のニューラル ネットワークをトレーニングすることが可能になります。 2 つのニューラル ネットワーク間の巧妙な相互作用により、ディープ ニューラル ネットワークはこれまで不可能だったタスク (リアルな画像の生成など) を解決できるようになります。 この投稿が、本質的には学習された損失関数である GAN のシンプルさとパワーを理解するのに役立つことを願っています。 オリジナルリンク: https://medium.com/vitalify-asia/gans-as-a-loss-function-72d994dde4fb [この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です] この著者の他の記事を読むにはここをクリックしてください |
<<: ユニサウンドがマルチモーダルAIチップ戦略を発表、同時に開発中の3つのチップを公開
>>: 機械学習の仕事を探すとき、学歴はどの程度重要ですか?
[[188760]] SEO はますます「難しく」なっていると誰もが感じているはずです。すでに、SE...
真夜中に雷鳴が轟いた。Google は本当に LLM をオープンソース化したのか? !今回、オープン...
9月19日、南寧市ビッグデータ開発局が主催し、華為技術有限公司と南寧産業投資グループ有限公司が共催す...
[[415783]]最高人民法院は最近、「顔認識技術を用いた個人情報処理に関する民事訴訟における法律...
人工知能の進歩は2024年まで大きな原動力となる可能性が高く、ビッグデータの課題、つまりそれをどのよ...
AI(人工知能)とは何ですか?と聞かれたら多くの人は、いくつかの単語を話すことはできるかもしれません...
[[428874]]現代では、社会の発展と時代の進歩に伴い、伝統と現代の衝突、古典と革新の融合が、...
本当にクレイジーだよ!ちょうど今、OpenAI のライバルである Inflection が新しいモデ...
人工知能研究チームOpenAIが発表した最新の報告書は、ロボットが自ら作成した新しい言語を使って互い...
小売業の経営者は、長期的な顧客関係の構築を妨げる在庫管理の問題に直面することがよくあります。小売在庫...
ガートナーによると、「ロボティック・プロセス・オートメーション(RPA)ソフトウェア市場は2020年...
オートエンコーダ(AE)は、半教師あり学習や教師なし学習で使用される人工ニューラルネットワーク(AN...