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

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

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

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

次の説明のうち正しいものを 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を超え、計算複雑性の問題を解決します

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

ブログ    
ブログ    
ブログ    

推薦する

Transformer はコンピューター ビジョンの分野でどこまで進歩したのでしょうか?

[[400862]] Transformer モデルは、自然言語処理 (NLP) の分野における新...

マスク氏は、将来は人間よりもロボットの数が多くなると述べ、テスラは自動運転技術を共有する用意があると述べた。

7月6日、本日開幕した世界人工知能会議で、マスク氏は会議に直接出席しなかったものの、インターネット...

...

国産大型モデルの推論能力がGPT-3.5を超えた! OpenAI評価リストの第1層に入る

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

人類は人工知能のせいで滅びるのか?ホーキング博士の最後の論文にヒントがあるかもしれない

[[251536]] 「完全な人工知能の開発は人類の終焉を意味するかもしれない...人工知能は自ら進...

機械学習の問題を解決する一般的な方法があります!これを読んでください

編集者注: この記事は、WeChat パブリック アカウント「Big Data Digest」(ID...

...

浙江大学のロボット魚がネイチャー誌に登場:マリアナ海溝の奥深くまで到達、画期的な進歩

人類は初めて、水深1万メートルでのソフトロボットの深海制御と深海自律遊泳実験を達成し、ロボット工学分...

「アルゴリズムとデータ構造」JavaScript のリンク リスト

[[378875]]この記事はWeChatの公開アカウント「Unorthodox Front-end...

...

チューリング学習:新世代のロボットは観察するだけで人間を模倣できる

[[187204]]最近、シェフィールド大学自動制御システム工学部のロデリッヒ・グロス博士は次のよう...

ロボットと自動化技術は、パンデミックの新たな常態の中でどのように新しい雇用を生み出すのでしょうか?

AI テクノロジーと自動化ソリューションは、仕事を奪う諸悪の根源なのでしょうか、それとも新しいプラ...

AI時代のRedis

[[328841]] 【51CTO.com クイック翻訳】リレーショナル データベースは依然として...

AIを新たな段階へ導くYLearn因果学習オープンソースプロジェクトがリリース

2022年7月12日、九張雲済DataCanvas社は、もう一つの画期的なオープンソース技術成果であ...