プレーン AI: ディープラーニングを理解するのは本当に難しいのでしょうか?中学数学、たった10分

プレーン AI: ディープラーニングを理解するのは本当に難しいのでしょうか?中学数学、たった10分

現在、AI が業界で重要な役割を果たしているため、ディープラーニングは重要な研究分野として、意味理解、画像認識、音声認識、自然言語処理など、ほぼすべての一般的な AI 応用分野に登場しています。現在の人工知能はディープラーニングの分野と同等であると考える人もいます。人工知能の時代において、ディープラーニングというホットな話題を理解していない意欲的なプログラマー、学生、または愛好家であれば、時代遅れになっているように思われます。

[[191644]]

しかし、微積分、線形代数、確率論、数理統計学など、ディープラーニングに必要な数学の要件により、理想と野心を持つ若者のほとんどが前進を躊躇しています。そこで疑問になるのが、ディープラーニングを理解するためにこの知識は本当に必要なのか、ということです。皆さんを不安にさせるつもりはありません。タイトルがすでに説明しています。

以前、編集者はさまざまなコミュニティフォーラムを閲覧し、初心者が学習するのに非常に適したディープラーニングに関する返信投稿を見つけました。この投稿では、ユーモラスな言葉遣いと例を使用して、シンプルでわかりやすい方法でディープラーニングのプロセスを分析しています。シーメンスで人工知能の分野で活躍するヤン・アンゴ氏とコミュニケーションをとり、編集の許可を得て、よりわかりやすい内容に再構成・改訂しました。皆様にディープラーニングを理解していただければ幸いです。

インターネット上にはディープラーニングに関する情報が数多く存在しますが、その多くは初心者には適していないようです。ヤン先生はいくつかの理由をまとめました。

1. ディープラーニングには一定の数学的基礎が必要です。内容がシンプルで分かりやすい方法で説明されていない場合、読者の中には落胆して途中で諦めてしまう人もいるかもしれません。

2. 中国人やアメリカ人が書いた本や記事は一般的に難しいです。

ディープラーニングに必要な数学的基礎は想像するほど難しくはありません。微分と関連する関数の概念を知っておくだけで十分です。高度な数学を学んだことがないのですか?とても良いです。この記事は、実際には文系の学生が理解できるように書かれています。中学校の数学を学んでいれば十分です。

実際、困難を恐れる必要はありません。むしろ李書福の精神を称賛すべきです。テレビのインタビューで、李書福はこう言いました。「中国人は自動車を作れないと誰が言ったのですか?」車を作るのがそんなに難しいことなの? 4つの車輪と2列のソファがあるだけなのに。もちろん、彼の結論は偏っているが、彼の精神は称賛に値する。

デリバティブとは何ですか?それは変化の速度に過ぎません。

たとえば、王暁児さんは今年豚を100頭、昨年は90頭、一昨年は80頭販売しました。 。 。変化率や成長率はどれくらいですか? 1年に10頭の豚を育てるなんて、なんて簡単なんでしょう。ここで、時間変数である「年」があることに注意する必要があります。王小児の豚販売の成長率は10頭/年、つまり導関数は10です。

関数 y=f(x)=10x+30。ここでは、王暁爾が最初の年に 30 頭の豚を販売し、その後は毎年 10 頭ずつ増加したと仮定します。x は時間 (年)、y は豚の数を表します。

もちろん、これは成長率が固定されている場合です。現実の世界では、変化の量は固定されていない場合が多く、つまり成長率は一定ではありません。たとえば、関数は次のようになります: y=f(x)=5x²+30。ここで、x と y は依然として時間と頭数を表しますが、成長率が変化しています。この成長率の計算方法については、後で説明します。あるいは、いくつかの微分公式を覚えるだけでもいいでしょう。

ディープラーニングには、偏微分というもう 1 つの重要な数学的概念があります。偏微分をどのように理解すればよいでしょうか?偏頭痛があるからですか、それとも私が許可していないのに私を案内しようとするのですか?どちらでもありません。豚を売る王暁爾の例を見てみましょう。先ほど、x変数は時間(年)であると述べましたが、豚の販売は時間だけに関係しているわけではありません。事業の成長に伴い、王暁爾は養豚場を拡大しただけでなく、多くの従業員を雇って一緒に豚を育てました。すると方程式は再び変わります: y=f(x)=5x₁²+8x₂ + 35x₃ +30

ここで、x₂ は面積、x₃ は従業員数、そしてもちろん x₁ は時間を表します。

上で、導関数は実際には変化率であると述べましたが、では偏導関数とは何でしょうか?偏微分は、複数の変数がある場合の特定の変数の変化率に他なりません。上記の式で、x₃ に関して偏微分を取ると、つまり従業員が豚の成長率にどれだけ貢献しているか、または従業員の増加に伴って豚が何頭増えるかは、ここでは 35 に等しくなります。つまり、従業員が 1 人増えるごとに、豚が 35 頭多く売れるということです。偏微分を計算するときは、他の変数を定数として扱うことが重要です。定数の変化率は 0 なので、微分は 0 です。したがって、35x₃ に関して微分を取るだけでよく、これは 35 に等しくなります。x₂ の偏微分も同様です。

偏微分を表すには記号を使用します。たとえば、y/x₃ は y の x₃ に関する偏微分を意味します。

結局、このすべてのナンセンスはディープラーニングと何の関係があるのでしょうか?もちろん関連しています。ディープラーニングはニューラルネットワークを使用して、線形の分離不可能な問題を解決します。この点については後ほど説明します。また、関連する記事をオンラインで検索することもできます。ここでは主に数学とディープラーニングの関係についてお話します。まずは写真をいくつかお見せしましょう:

図 1. いわゆるディープラーニングは、多くの隠れ層を持つニューラル ネットワークです。

図2. 出力が1つしかない場合の偏微分を求める方法

図 3. 複数の出力がある場合に偏微分を求める方法。

最後の 2 枚の写真は、日本人が書いたディープラーニングに関する本からのものです。とてもよく書かれていると思うので、写真を盗んで自分の用途に使用しました。いわゆる入力層、出力層、中間層は、それぞれ中国語の入力層、出力層、隠れ層に対応します。これらの写真を見て怖がらないでください。実はとても簡単です。別の例を挙げてみましょう。女の子とのいちゃつきを取り上げてみましょう。男女間の愛は、大​​きく分けて3つの段階に分けられます。

1. 初恋の時期。ディープラーニングの入力層に相当します。身長、体型、顔、学歴、性格など、他人に惹かれる要素はたくさんあるはずです。これらは入力層のパラメータであり、重みは人によって異なる場合があります。

2. 情熱的な愛の期間。これを隠し層に対応させましょう。この期間中、双方は食料、油、塩、ソース、酢、お茶などの生活必需品をめぐってさまざまな調整を行った。

3. 安定期。出力層に関しては、それが適切かどうかは、どれだけうまく慣らされているかによって決まります。慣らし運転が非常に重要であることは誰もが知っていますが、どのように行うのでしょうか?それは継続的な学習、トレーニング、修正のプロセスです。たとえば、あなたのガールフレンドがイチゴのケーキが好きで、あなたがブルーベリーのケーキを買った場合、彼女からのフィードバックが否定的であれば、次回はブルーベリーのケーキを買うのではなく、代わりにイチゴのケーキを買うべきです。

これを読んだ後、ガールフレンドに対するパラメータを調整し始める男性もいるかもしれません。少し心配なので、もう少し情報を追加します。女の子を誘惑するのはディープラーニングと同じで、過学習と過学習の両方を防ぐ必要があります。ディープラーニングにおけるいわゆる「アンダーフィッティング」とは、女の子をナンパする経験が足りないのと同じように、トレーニングとデータが不十分であることを意味します。溶け込むためには、花を贈ることはもちろん最も基本的なことですが、話すときのユーモアのセンスを向上させるなど、他の面も改善する必要があります。この記事の焦点は女の子とのいちゃつきではないので、詳細には触れません。ここで言及する必要があるのは、アンダーフィッティングは確かに良くないが、オーバーフィッティングはさらに不適切であるということです。オーバーフィットは、アンダーフィットの反対です。一方で、オーバーフィットすると、エディソン・チャン氏になる可能性があると彼女は考えるでしょう。さらに重要なのは、人によって状況が異なることです。ディープラーニングと同様に、トレーニング セットはうまく機能しますが、テスト セットは機能しません。いちゃつくことに関して言えば、彼女はあなたが元恋人(トレーニング セット)から大きな影響を受けていると考えるでしょう。これは絶対にやってはいけないことです。彼女にこのような印象を与えてしまうと、将来困ることになりますので、覚えておいてください!

ディープラーニングも継続的な調整のプロセスです。最初に標準パラメータが定義され(バレンタインデーや誕生日に花を贈るのと同じように、これらは経験的な値です)、その後、図 1 の各ノード間の重みを取得するために継続的に修正されます。なぜこのような慣らし運転をする必要があるのでしょうか?ディープラーニングを子供だと仮定して考えてみましょう。どのようにして子供に絵の読み方を教えるのでしょうか?まず、絵を見せて正しい答えを伝えなければなりません。継続的に教え、訓練するには、たくさんの絵が必要です。この訓練プロセスは、実際にはニューラル ネットワークの重みを解くプロセスに似ています。将来彼をテストするときには、彼に絵を渡すだけで、彼は絵の中に何が描かれているかを知るでしょう。

つまり、トレーニング セットは、実際には子供たちに見せる正解付きの絵です。ディープラーニングでは、トレーニング セットはニューラル ネットワークの重みを解決し、最終的にモデルを形成するために使用され、テスト セットはモデルの精度を確認するために使用されます。

下の図に示すように、トレーニング済みのモデルの場合、重み (w1、w2...) はすべて既知です。

図4

図5

上記のように左から右に計算するのは簡単であることがわかっています。しかし一方で、上で述べたように、テスト セットには画像と予想される正解が含まれています。w1、w2... を逆に検索したい場合はどうすればよいでしょうか。

長い間ぐるぐる回った後、ようやくガイドに帰ってもらう時間になりました。現在の状況は次のとおりです。

1. ニューラル ネットワークが定義されているものと想定します。これには、ニューラル ネットワークの層の数、各層のノードの数、デフォルトの重みと活性化関数などが含まれます。入力(画像)が固定されている場合は、パラメータを調整するだけで出力値を変更できます。調整方法と慣らし運転の方法は?先ほど、各パラメータにはデフォルト値があることを説明しました。各パラメータに特定の値 ∆ を追加して、結果を確認してみましょう。パラメータが増加するとギャップは大きくなります。したがって、ギャップを小さくすることが目標なので、∆ を小さくする必要があります。逆もまた同様です。したがって、パラメータを最適に調整するには、各パラメータの誤差の変化率を理解する必要があります。つまり、パラメータに対する誤差の偏微分を求める必要があります。

2. ここでのポイントは 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 に等しくなりますが、これも問題ありません。

もう一つは学習係数です。なぜ学習係数と呼ばれるのでしょうか?先ほど、∆増分についてお話しました。1回あたりの適切な増加量はどのくらいでしょうか?それは偏微分(変化率)と同等ですか?経験上、これにパーセンテージを掛け合わせる必要があります。これが学習係数です。さらに、この係数はトレーニングの進行に応じて変化する可能性があります。

もちろん、SGD (確率的勾配降下法)、ミニバッチ、エポック (トレーニング セットの選択に使用) など、非常に重要な基礎知識がいくつかあります。スペースが限られているため、これについては後で説明します。実際、Li Hongyi の記事を参照するだけで十分です。実際、上で説明したのは主にパラメータを調整する方法に関するもので、これは初級段階に属します。前述のように、パラメータを調整する前に、デフォルトのネットワーク モデルとパラメータがあります。初期モデルとパラメータをどのように定義するのでしょうか?さらに理解を深める必要があります。しかし、一般的なエンジニアリング作業では、デフォルト ネットワークのパラメータを調整するだけで済み、これはアルゴリズムを使用するのと同じです。一方、学者や科学者の場合は、アルゴリズムを発明することになりますが、これは非常に困難です。彼らに敬意を表します!

最後に、Yang 先生は、非常に優れた記事を推薦してくれました。「1 日でディープラーニングを理解する」という、台湾の Li Hongyi 教授が執筆した 300 ページの PPT で、素晴らしい内容です。ディープラーニングに関する最も体系的でわかりやすい記事であると言っても過言ではありません。

スライドシェアへのリンクはこちらです:

http://www.slideshare.net/tw_dsconf/ss-62245351?qid=108adce3-2c3d-4758-a830-95d0a57e46bc&v=&b=&from_search=3

VPN を持っていない生徒は、Yang 先生のネットワーク ディスクからダウンロードできます。

http://pan.baidu.com/s/1nv54p9R パスワード: 3mty

この記事は、楊氏の知乎での返答を引用している。

https://www.zhihu.com/question/26006703/answer/129209540

【編集者のおすすめ】

  1. 転移学習: データが不十分な場合に深く学習する方法
  2. 世の中に人工知能は存在しないのか?私たちはディープラーニングに騙されているのでしょうか?
  3. ディープラーニングを使用して映画を推奨するにはどうすればよいでしょうか?独自の推奨システムを作成する方法を教えます!
  4. TensorFlow でディープラーニングに基づく画像補完を実装する方法
  5. 機械学習とディープラーニングとは何ですか?ファイザン・シャイクがお手伝いします

<<:  時空間アルゴリズム研究に基づくビジネス意思決定分析

>>:  Meili United が VALSE カンファレンスで「ファッションをグラフィックで説明」する画像アルゴリズムの体験を共有する方法

ブログ    
ブログ    

推薦する

継続的な冷却を心配する必要はありません。ドローンが電力網を保護して暖かさを提供します

秋の雨が降るたびに寒さがやってきます。今年の秋は例年より遅く訪れましたが、寒さも増しています。気温の...

人工知能とクラウドコンピューティングの組み合わせは、企業ビジネスの飛躍的成長をどのように促進するのでしょうか?

Statistaの最近のレポートによると、「AI市場の世界的価値は2025年までに年間890億ドル...

人工知能とロボットが医療業界を「支配」していますが、あなたは安心していますか?

人間社会が発展するにつれて、知性は新たな生産要素になりました。近年、人工知能産業の発展は爆発的な成長...

...

...

オープンソースの大規模言語モデル (LLM) の概要

大規模言語モデル(LLM)は人工知能分野における重要な研究方向であり、ChatGPT以降急速な発展を...

データマイニングの分野でトップ 10 の古典的なアルゴリズムの 1 つ - K-Means アルゴリズム (コード付きで非常に詳細)

k-means アルゴリズムは比較的単純です。 k-means アルゴリズムでは、クラスターはクラ...

ニューラルネットワークの詳細な説明、順方向伝播と逆方向伝播

主にロジスティック回帰について説明します。ロジスティック回帰には多くの基本概念が含まれており、ニュー...

...

無人配送はJD.com、Alibaba、SF Expressの「新たなお気に入り」となっているが、全国的に普及するには10年かかるかもしれない!

[[222058]]無人運転車、ドローン、無人倉庫、無人駅、配達ロボットなどの「無人技術」が、電子...

ビジネスマーケティングにおける人工知能の6つの応用

[[378540]] [51CTO.com クイック翻訳] 今日、人工知能(AI)に基づくソリューシ...

AI導入の最大の障壁:熟練した専門家の不足

VentureBeat によると、人工知能 (AI) が革命的なメリットをもたらしたという点について...

OpenAI、テキストから動画を生成できる新しい大規模モデル「Sora」を発表

海外メディアの報道によると、OpenAIは2月18日、短いテキストプロンプトを通じて「リアル」かつ「...

2021年に自動運転は私たちをどこへ連れて行くのでしょうか?

[[361430]]文/Quiu Yueye 編集/Tan Lu新年、自動運転は私たちをどこへ連れ...

信頼できる AI ソリューション プロバイダー 5 社

人工知能は、機械内で知的な行動や人間のように考える能力をシミュレートすることで、ヘルスケア、自動車、...