[51CTO.com からのオリジナル記事]現在、AI が業界で重要な役割を果たしており、ディープラーニングは重要な研究分野として、意味理解、画像認識、音声認識、自然言語処理など、ほぼすべての一般的な AI 応用分野に登場しています。現在の人工知能はディープラーニングの分野と同等であると考える人もいます。 人工知能の時代において、ディープラーニングというホットな話題を理解していない意欲的なプログラマー、学生、または愛好家であれば、時代遅れになっているように思われます。
しかし、微積分、線形代数、確率論、数理統計学など、ディープラーニングに必要な数学の要件により、理想と野心を持つ若者のほとんどが前進を躊躇しています。そこで疑問になるのが、ディープラーニングを理解するにはこの知識が必要かどうかです。 インターネット上にはディープラーニングに関する情報が数多く存在しますが、そのほとんどは初心者には適していません。ヤン先生はいくつかの理由をまとめました。 ディープラーニングには、特定の数学的基礎が必要です。内容がシンプルで分かりやすい方法で説明されていない場合、読者の中には落胆して途中で諦めてしまう人もいるかもしれません。 中国人やアメリカ人が書いた本や記事は、一般的に難しいです。 ディープラーニングに必要な数学的基礎は想像するほど難しくはありません。微分と関連する関数の概念を知っておくだけで十分です。高度な数学を勉強したことがなくても大丈夫です。この記事は、実際には中学数学を勉強しただけでよい文系の学生に理解できるように書かれています。 困難を恐れる必要はありません。私は李書福の精神を尊敬しています。テレビのインタビューで、李書福はこう言いました。「中国人は車を作れないと誰が言ったのですか?車を作るのがそんなに難しいのですか?ただ四つの車輪と二列のソファがあるだけです。」もちろん、彼の結論は偏っているが、彼の精神は称賛に値する。 「王小児が豚を売る」はディープラーニングの派生を解説 デリバティブとは何ですか? それは単なる変化率に過ぎません。例えば、王小児は今年豚を100頭、去年は90頭、一昨年は80頭販売しました。 。 。変化率や成長率はどのくらいですか? 1 年に 10 頭なら十分でしょう。 ここで、時間変数である「年」があることに注意する必要があります。王小児の豚販売の成長率は10頭/年、つまり導関数は10です。 関数 y = f(x) = 10x + 30。ここでは、王暁爾が最初の年に 30 頭の豚を販売し、その後は毎年 10 頭ずつ増加したと仮定します。x は時間 (年)、y は豚の数を表します。 もちろん、これは成長率が固定されている場合です。現実の世界では、変化の量は固定されていない場合が多く、つまり成長率は一定ではありません。 たとえば、関数は次のようになります: y = f(x) = 5x² + 30。ここで、x と y は依然として時間と頭数を表しますが、成長率が変化しています。この成長率の計算方法については後で説明します。あるいは、いくつかの微分公式を覚えるだけでもいいでしょう。 ディープラーニングには重要な数学的概念がある。偏微分である。 偏微分についてどのように理解していますか? 偏微分が頭痛の種ですか、それとも私が許可していないのに微分を取ることにこだわっているのですか? どちらでもありません。豚を売る王小爾を例に挙げてみましょう。先ほど、x変数は時間(年)であると述べましたが、豚の販売は時間だけに関係しているわけではありません。事業の成長に伴い、王小爾は養豚場を拡大しただけでなく、多くの従業員を雇って一緒に豚を育てました。 すると方程式は再び変わります: y = f(x) = 5x₁² + 8x₂ + 35x₃ + 30 ここで、x₂ は面積、x₃ は従業員数、そしてもちろん x₁ は時間を表します。 恋愛を例に、ディープラーニングの「偏微分」を解釈する 偏微分とは何ですか? 偏微分は、複数の変数がある場合の特定の変数の変化率に他なりません。上記の式で、x₃ に関して偏微分を取ると、従業員が豚の成長率にどれだけ貢献しているかがわかります。 言い換えると、従業員数(各従業員)が増えると豚の数も増え、ここでは 35 頭に相当します。つまり、従業員が増えるごとに豚が 35 頭多く販売されることになります。 偏導関数を計算するときは、他のすべての変数を定数として扱うことが重要です。定数の変化率は 0 なので、導関数は 0 です。したがって、残っているのは 35x₃ の導関数、つまり 35 を見つけることだけです。 x₂の偏微分も同様です。 偏微分を求めるには、記号を使用します。たとえば、y / x₃ は、y の x₃ に関する偏微分を意味します。 これらすべてがディープラーニングとどう関係するのでしょうか? もちろん関係があります。ディープラーニングはニューラルネットワークを使用して、線形の分離不可能な問題を解決します。 ここでは主に数学とディープラーニングの関係についてお話します。まずは写真をいくつかお見せしましょう: 図 1: ディープラーニングは、多くの隠れ層を持つニューラル ネットワークです。 図2: 出力が1つしかない場合の偏微分を求める方法 図3: 複数の出力がある場合の偏微分を求める方法 最後の2枚の写真は、日本人が書いたディープラーニングに関する本からのものです。いわゆる入力層、出力層、中間層は、それぞれ中国語の入力層、出力層、隠れ層に対応します。 これらの写真を見て怖がらないでください。実はとても簡単です。女の子とのいちゃつきを例に考えてみましょう。男女間の愛は、大きく分けて3つの段階に分けられます。
たとえば、あなたのガールフレンドがイチゴのケーキが好きで、あなたがブルーベリーのケーキを買った場合、彼女からのフィードバックが否定的であれば、次回はブルーベリーのケーキを買うのではなく、代わりにイチゴのケーキを買うべきです。 これを読んだ後、ガールフレンドに対するパラメータを調整し始める男性もいるかもしれません。少し心配なので、もう少し情報を追加します。女の子を誘惑するのはディープラーニングと同じで、過学習と過学習の両方を防ぐ必要があります。 ディープラーニングにおけるいわゆる「アンダーフィッティング」とは、女の子をナンパする経験が足りないのと同じように、トレーニングとデータが不十分であることを意味します。周囲に溶け込むためには、花を贈るのはもちろん最も基本的なことですが、話すときのユーモアのセンスを高めるなど、他の面も向上させる必要があります。ここで言及する必要があるのは、アンダーフィッティングは確かに良くないが、オーバーフィッティングはさらに不適切であるということです。 オーバーフィットは、アンダーフィットの反対です。一方で、オーバーフィットすると、エディソン・チャンのような教師になる素質があると思われるでしょう。さらに重要なのは、人によって状況が異なることです。ディープラーニングと同様に、トレーニング セットはうまく機能しますが、テスト セットは機能しません。 浮気に関しては、元カノ(トレーニングセット)の影響を強く受けていると思われてしまうので、これは大きなタブーです! 彼女にこのような印象を与えてしまうと、将来困ったことになりますので、覚えておいてください! ディープラーニングは継続的な調整のプロセスでもあります。最初に標準パラメータが定義され (バレンタインデーや誕生日に花を贈るのと同じように、これらは経験的な値です)、その後、図 1 の各ノード間の重みを取得するために継続的に修正されます。 なぜこれを行う必要があるのでしょうか? ディープラーニングの対象が子供であると仮定して考えてみましょう。どのようにして子供に絵の読み方を教えるのでしょうか? まず、絵を見せて正しい答えを伝えなければなりません。継続的に教え、訓練するには、たくさんの絵が必要です。この訓練プロセスは、実際にはニューラル ネットワークの重みを解くプロセスに似ています。将来彼をテストするときには、彼に絵を渡すだけで、彼は絵の中に何が描かれているかを知るでしょう。 つまり、トレーニング セットは実際に子供たちに正解の絵を見せているのです。ディープラーニングでは、トレーニング セットはニューラル ネットワークの重みを解決し、最終的にモデルを形成するために使用され、テスト セットはモデルの精度を検証するために使用されます。 下の図に示すように、トレーニング済みのモデルの場合、重み (w1、w2...) はすべて既知です。 図4 図5 上記のように、左から右に計算するのは簡単です。しかし、一方で、テスト セットには写真と予想される正解が含まれています。w1、w2 などを逆に見つけるにはどうすればよいでしょうか。 偏導関数を求めるにはどうすればいいですか? 長い間ぐるぐる回った後、ようやくガイドに帰ってもらう時間になりました。現在の状況は次のとおりです。 ニューラル ネットワークには、レイヤーの数、各レイヤーのノードの数、デフォルトの重みと活性化関数など、定義されているものとします。入力(画像)が固定されている場合は、パラメータを調整するだけで出力値を変更できます。調整方法と慣らし運転の方法は? 各パラメータにはデフォルト値があります。各パラメータに特定の値 ∆ を追加して、結果を確認します。パラメータを増やしたときにギャップが大きくなる場合は、ギャップを小さくすることが目的であるため、∆ を減らす必要があります。逆の場合も同様です。 したがって、パラメータを最適に調整するには、各パラメータの誤差の変化率を理解する必要があります。これは、パラメータに対する誤差の偏微分ではないでしょうか? ここでのポイントは 2 つあります。1つは活性化関数で、これは主にネットワーク全体に非線形特性を持たせるためのものです。前述したように、多くの場合、線形関数は入力を適切に分類できません(多くの場合、認識は主に分類のために使用されます)。 次に、ネットワークに非線形関数を学習させる必要があります。ここでは、ネットワーク自体が非線形であるため、活性化関数が必要になります。そのため、ネットワーク全体にも非線形特性があります。 また、活性化関数により各ノードの出力値も制御可能な範囲内に保たれ、計算も便利です。 この説明はまだあまり一般的ではないようです。実際、女の子とのいちゃつきの例えを使うこともできます。女の子はただの水のような日々を好みません。なぜなら、これは直線的だからです。もちろん、人生にはロマンスが必要です。この活性化関数に関しては、人生における小さなロマンスとサプライズに似ていると感じています。 関係のどの段階でも、ロマンスやサプライズを生み出すために、時々それを活性化する必要があります。たとえば、女の子のほとんどは、かわいい小さなカップや磁器のアイテムを見ると、動けなくなってしまいます。ですから、誕生日には、彼女が泣きたくなるほど感動するような特別なものをプレゼントしましょう。 先ほど、男性にはユーモアのセンスが必要だと言いました。これは、女性を笑わせ、適切なタイミングで、女性を興奮させて泣かせるためです。泣いたり笑ったり、それを何回か繰り返したら、彼女はあなたに依存するようになるでしょう。非線形特性が強すぎるからです。 もちろん、多すぎるのも少なすぎるのも同じくらい良くないし、ちょっとしたサプライズが多ければ多いほど良いのですが、サプライズが全くなければ、ただの水になってしまいます。各レイヤーに活性化関数を追加できるようなものです。もちろん、すべてのレイヤーに活性化関数を追加する必要はありませんが、活性化関数がまったくない場合は受け入れられません。 鍵となるのは偏微分をどのように見つけるかです。図 2 と 3 はそれぞれ導出方法を示しています。これは実際には非常に簡単です。右から左へ 1 つずつ偏導関数を求めるだけです。隣接するレイヤーの偏微分を求めるのは非常に簡単です。なぜなら、それらは線形であり、偏微分は実際にはパラメーター自体であり、x₃ の偏微分を解くのと似ているからです。次に、偏微分を掛け合わせます。 ここでのポイントは 2 つあります。1つは活性化関数です。実際、活性化関数は特別なものではありません。計算しやすいように、各ノードの出力を 0 から 1 の範囲に収めるだけです。そのため、結果に対して 1 対 1 のマッピングの別のレイヤーが実行されます。 活性化関数が存在するため、偏微分を計算する際にはこれも考慮する必要があります。活性化関数は一般的にシグモイドを使用しますが、Reluなども使用できます。活性化関数の導出は実は非常に簡単です。 微分: f'(x)=f(x)*[1-f(x)] この点に関しては、時間があれば高度な数学を調べても構いません。時間がない場合は、暗記するだけにしてください。 Relu の場合はさらに単純で、x<0 の場合、f(x) は y が 0 に等しく、それ以外の場合は y が x に等しくなります。 もちろん、独自の Relu 関数を定義することもできます。たとえば、x が 0 以上の場合、y は 0.01x に等しくなります。これも可能です。 学習係数とは何ですか? もう一つは学習係数です。なぜ学習係数と呼ばれるのでしょうか? 先ほど∆増分についてお話しましたが、これは毎回どのくらい増やせばいいのでしょうか?偏微分(変化率)と同等でしょうか? 経験上、これにパーセンテージを掛け合わせる必要があります。これが学習係数です。さらに、この係数はトレーニングの進行に応じて変化する可能性があります。 もちろん、SGD (確率的勾配降下法)、ミニバッチ、エポック (トレーニング セットの選択用) など、非常に重要な基本知識もいくつかあります。 上記で説明した内容は主にパラメータの調整方法についてであり、初級段階に属します。前述のように、パラメータを調整する前に、デフォルトのネットワーク モデルとパラメータがあります。初期モデルとパラメータをどのように定義するのでしょうか。さらに深い理解が必要です。 しかし、一般的なエンジニアリング作業では、デフォルト ネットワークのパラメータを調整するだけで済み、これはアルゴリズムを使用するのと同じです。一方、学者や科学者の場合は、アルゴリズムを発明することになりますが、これは非常に困難です。彼らに敬意を表します! [51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください] |
2018 年後半には、自動運転とインテリジェント コネクテッド ビークルの市場が活況を呈しました。昨...
アメリカのテクノロジーブログ「TechCrunch」の主要寄稿者であるMG Siegler氏によると...
人工知能の発展の過程で、常に次のような声が聞かれます。「人工知能によって、特に若者を中心に、失業者が...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
ちょうど今、タイム誌が2023年にAI分野で最も影響力のある100人のリストを発表しました。このリス...
序文多くの人は、BitMap は文字通りビットマップを意味すると考えています。実際、より正確には、ビ...
自然言語理解(NLP)は「人工知能の最高傑作」として知られており、これは言語や知識などの認知面におけ...
トレーニング データは必要ありません。「宿題をしているバナナマン」などの文をモデルに説明するだけです...
Instagramは、顔をスキャンして年齢を推定できるサードパーティ企業Yotiが開発したAIツール...
執筆者 | 王 瑞平校正 | Yun Zhao最近また「100均戦争」が始まってます…一輪の花が春を...
最近、ネットユーザーによってオンラインフォーラムで有名なブラウザにセキュリティ上の脆弱性があることが...
今週、Meta のオープンソース Llama2 が AI コミュニティ全体で人気を博しました。その結...