ディープラーニングを理解するには、より低い次元からアプローチするべきでしょうか、それともより高い次元で考えるべきでしょうか?

ディープラーニングを理解するには、より低い次元からアプローチするべきでしょうか、それともより高い次元で考えるべきでしょうか?

今日のトピックは、複数選択問題から始めましょう。

ニューラルネットワークとは何ですか?

次の説明のうち正しいものを 1 つ以上選択してください。

A. ニューラルネットワークは、入力を受け取って出力を生成する数学関数です。

B. ニューラル ネットワークは、多次元配列が流れる計算グラフです。

C. ニューラル ネットワークは複数の層で構成され、各層には「ニューロン」があります。

D. ニューラルネットワークは汎用的な関数近似器です。

あなたの答えは ________ です。

答えを発表します。正解は… ABCDです。

ちょっと混乱していますか?ニューラルネットワークの単一の統一された説明は存在しないのでしょうか?

セス・ワイドマン元Facebookのデータサイエンティストです。彼は、さまざまな業界の人々にデータサイエンスと機械学習を教えるために世界中を旅するよう招待されています。

[[390479]]

セス・ワイドマン、元Facebookデータサイエンティスト 出典: sethweidman.com

著書『Getting Started with Deep Learning in Python: Building CNNs and RNNs from Scratch』の中で、Weidman 氏は次のように書いています。

ニューラル ネットワークを説明する上で最も難しいのは、ニューラル ネットワークとは何かについての正しいメンタル モデルを伝えることです。これは主に、ニューラル ネットワークを理解するには 1 つのメンタル モデルではなく複数のメンタル モデルが必要であり、それぞれのメンタル モデルがニューラル ネットワークの動作の異なる (そしてそれぞれが重要な) 側面を説明するためです。

確かに、ニューラル ネットワークとディープラーニングは 3 次元の分野です。数学的レベルまたはコード レベルのみで学習すると、必然的に一般化に陥り、包括的な理解が得られなくなります。このため、ワイドマン氏は、ディープラーニング分野の全体像を把握するために、数学、概略図、Python コードの 3 つの次元で各概念を理解するという新しい学習方法を提案しました。

独自のディープラーニングの建物を構築したいと想像してください。アルゴリズムが好きだったり、視覚的な学習に慣れていたりしても、 「高次元で考える」ことによってのみ、多用途で精巧な建物を建てることができます。

ワイドマンは、導関数、ネストされた関数、連鎖などの概念を学習するための次の手順を提案しました。これらの基本概念はレンガのようなもので、これらを使用して、最終的には独自のディープラーニング ビルディングを構築します。

  • 1 つ以上の方程式を使用して数学の原理を説明します。
  • コーディング面接中にホワイトボードに描くような図表を用意します。
  • 対応する Python コードを指定します。

この学習方法を使用して、微分の概念をどのように理解できるかを見てみましょう。

微分はディープラーニングにおいて非常に重要な概念です。一般に、ある点における関数の導関数は、その点における入力に対する関数の出力の「変化率」として単純に考えることができます。

次元 1: 数学

まず、微分を数学的な次元で定義します。特定の入力値を変更したときに関数の出力がどの程度変化するかという制限を数値で表すことができます。

この制限は、Δ に非常に小さい値 (例: 0.001) を設定することによって数値的に近似できます。したがって、Δ = 0.001 の場合、導関数は次のように計算できます。

これは近似値ではありますが、完全な派生メンタルモデルの一部にすぎません。導関数を模式図の観点から理解してみましょう。

次元2: 概略図

関数曲線の接線を描くと、点 a における関数 f の導関数は点 a における線の傾きになります。この線の傾きは 2 つの方法で計算できます。最初の方法は、微積分を使用して実際に極限を計算することです。2 番目の方法は、下の図に示すように、直線 f の傾きを a−0.001 と a+0.001 で取得することです。

これを視覚化する別の方法は、関数を小さな工場として考え、その入力がワイヤで出力に接続されていると考えることです。導関数を解くことは、次の質問に答えることと同じです。関数の入力 a を少し上げると、工場の内部動作メカニズムに従って、出力はこの小さな値の何倍に変化しますか?

ディープラーニングを理解するには、2 番目の表現の方が 1 番目の表現よりも重要です。

次元3: Pythonコード

先ほど見た導関数の近似値は、次のようにコーディングすることで解くことができます。

P が E (ランダムに選択された文字) の関数であると言うとき、実際に意味するのは、f (E ) =P となる関数 f が存在するということです。つまり、オブジェクト E を受け取ってオブジェクト P を生成する関数 f が存在します。言い換えれば、P は関数 f を E に適用したときに生成される任意の関数値です。

以下のようにエンコードできます。

<<:  TransformerはCNNを超え、計算複雑性の問題を解決します

>>:  ビッグデータと人工知能を活用して英語教育の問題を解決する

ブログ    

推薦する

...

...

...

Foreign Media Express: 2017 年の機械学習に関する 10 の予測

[51CTO.com オリジナル記事] Foreign Media Express は、ヌカ・コーラ...

どのような Android の知識を学ぶ必要がありますか?ナレッジグラフ

コア分析コンテンツ初心者および中級の Android 開発者にとって、学ぶべき Android の理...

ディープラーニングフィードフォワードニューラルネットワークの簡単な紹介

索引多層パーセプトロン (MLP) 入門ディープニューラルネットワークの活性化関数ディープニューラル...

...

360、認知汎用大型モデル「360 Brain 4.0」をリリース、360ファミリーバケットに完全統合

「デジタルヒューマン『周紅一』を我が社のスポークスマンにしよう。彼が正しいことを言ったら、それは私の...

...

あなたは人工知能に洗脳され、最も賢いお金はこれらの16の技術に目を向けています

ガートナーが今年発表した技術成熟度曲線には、上昇段階にある新興技術が 16 個あります。これらの新興...

AI はポイントアンドクリックプログラミングに終止符を打つことができるでしょうか?

マウスクリックプログラミングは、プログラミングの世界では常に新しいトレンドとなっています。簡単に言え...

...

人工知能:テクノロジーは無邪気、善と悪は人間の心の中にある

[[338194]]テクノロジーは常に諸刃の剣です。人類の文明の進歩を促進する一方で、時には人類に災...

AIミドルプラットフォーム - インテリジェントチャットボットプラットフォームのアーキテクチャとアプリケーション

講演者紹介:王東:北京大学大学院 CreditEase テクノロジーセンター AI ミドルプラットフ...

...