目次[隠す][見せる]
- 1. 深層学習とは正確には何ですか?
- 2. ディープ ラーニングと機械学習の違いは何ですか?
- 3. ニューラル ネットワークについて現在どのような理解を持っていますか?
- 4. パーセプトロンとは正確には何ですか?
- 5. ディープ ニューラル ネットワークとは正確には何ですか?
- 6. 多層パーセプトロン (MLP) とは正確には何ですか?
- 7. 活性化関数はニューラル ネットワークでどのような目的を果たしますか?
- 8.勾配降下とは正確には何ですか?
- 9. 費用関数とは正確には何ですか?
- 10. 深いネットワークが浅いネットワークよりも優れている理由は何ですか?
- 11.順伝播について説明してください。
- 12. バックプロパゲーションとは何ですか?
- 13. 深層学習の文脈において、勾配クリッピングをどのように理解しますか?
- 14. Softmax 関数と ReLU 関数とは何ですか?
- 15. すべての重みを 0 に設定してニューラル ネットワーク モデルをトレーニングできますか?
- 16. エポックとバッチおよびイテレーションの違いは何ですか?
- 17. バッチ正規化とドロップアウトとは?
- 18. 確率的勾配降下法とバッチ勾配降下法の違いは何ですか?
- 19.ニューラルネットワークに非線形性を含めることが重要なのはなぜですか?
- 20.深層学習におけるテンソルとは?
- 21. 深層学習モデルの活性化関数をどのように選びますか?
- 22. CNN とはどういう意味ですか?
- 23. 多くの CNN レイヤーとは?
- 24. オーバーフィッティングとアンダーフィッティングの影響は何ですか?どうすれば回避できますか?
- 25.深層学習では、RNN とは何ですか?
- 26. Adam Optimizer について説明する
- 27. Deep autoencoders: 彼らは何ですか?
- 28. Tensorflow における Tensor とは何を意味しますか?
- 29. 計算グラフの説明
- 30. 敵対的生成ネットワーク (GAN): それらは何ですか?
- 31. アーキテクチャを設計する際に、ニューラル ネットワークに含めるニューロンと隠れ層の数をどのように選択しますか?
- 32. 深層強化学習ではどのような種類のニューラル ネットワークが使用されますか?
- まとめ
ディープラーニングはまったく新しいアイデアではありません。 人工ニューラル ネットワークは、ディープ ラーニングとして知られる機械学習サブセットの唯一の基盤として機能します。
ディープ ラーニングは、人間の脳を模倣するために作成されたニューラル ネットワークと同様に、人間の脳を模倣したものです。
しばらくの間、これがありました。 最近では、処理能力やデータが現在ほど多くないため、誰もがそれについて話し合っています。
過去 20 年間で、処理能力が劇的に向上した結果、ディープ ラーニングと機械学習が登場しました。
夢の仕事を探すときに直面する可能性のある質問に備えるために、この記事では、単純なものから複雑なものまで、さまざまな深層学習面接の質問について説明します。
1. 深層学習とは正確には何ですか?
あなたが出席している場合 深い学習 インタビューで、深層学習とは何かを理解していることは間違いありません。 ただし、面接担当者は、この質問に対してイラストを添えて詳細な回答を提供することを期待しています。
鍛えるためには ニューラルネットワーク 深層学習の場合、大量の組織化または非構造化データを使用する必要があります。 隠されたパターンや特徴を見つけるために、複雑な手順を実行します(たとえば、猫の画像と犬の画像を区別します)。
2. ディープ ラーニングと機械学習の違いは何ですか?
機械学習として知られる人工知能の一部門として、データと統計的およびアルゴリズム技術を使用してコンピューターをトレーニングし、時間の経過とともにコンピューターが改善されるようにします。
の側面として、 機械学習、ディープ ラーニングは、人間の脳に見られるニューラル ネットワーク アーキテクチャを模倣します。
3. ニューラル ネットワークについて現在どのような理解を持っていますか?
ニューラル ネットワークとして知られる人工システムは、人体に見られる有機ニューラル ネットワークに非常によく似ています。
に似たテクニックを使って、 人間の脳 ニューラルネットワークは、データの根底にある相関関係を特定することを目的としたアルゴリズムの集まりです。
これらのシステムは、タスク固有のルールに従うのではなく、さまざまなデータセットや例にさらされることによって、タスク固有の知識を獲得します。
アイデアは、これらのデータセットを事前にプログラムして理解する代わりに、システムが供給されたデータから特徴的な特徴を学習するというものです。
ニューラル ネットワークで最も一般的に使用される XNUMX つのネットワーク層は次のとおりです。
- 入力レイヤー
- 隠し層
- 出力層
4. パーセプトロンとは正確には何ですか?
人間の脳に見られる生物学的ニューロンは、パーセプトロンに匹敵します。 パーセプトロンは複数の入力を受け取り、多数の変換と関数を実行して出力を生成します。
二項分類には、パーセプトロンと呼ばれる線形モデルが採用されています。 それぞれ異なる重みを持つさまざまな入力を持つニューロンをシミュレートします。
ニューロンは、これらの重み付けされた入力を使用して関数を計算し、結果を出力します。
5. ディープ ニューラル ネットワークとは正確には何ですか?
ディープ ニューラル ネットワークは、入力層と出力層 (DNN) の間に複数の層がある人工ニューラル ネットワーク (ANN) です。
ディープ ニューラル ネットワークは、ディープ アーキテクチャ ニューラル ネットワークです。 「深層」という言葉は、XNUMX つの層に多くのレベルと単位を持つ機能を指します。 より多くのレイヤーを追加してより多くのパターンをキャプチャすることで、より正確なモデルを作成できます。
6. 多層パーセプトロン (MLP) とは正確には何ですか?
MLP には、ニューラル ネットワークと同様に、入力層、非表示層、および出力層が存在します。 これは、XNUMX つ以上の隠れ層を持つ単層パーセプトロンと同様に構築されます。
単層パーセプトロンのバイナリ出力は線形分離可能クラス (0,1) のみを分類できますが、MLP は非線形クラスを分類できます。
7. 活性化関数はニューラル ネットワークでどのような目的を果たしますか?
活性化関数は、ニューロンが最も基本的なレベルで活性化する必要があるかどうかを決定します。 どの活性化関数も、入力とバイアスの加重和を入力として受け入れることができます。 活性化関数には、ステップ関数、Sigmoid、ReLU、Tanh、および Softmax が含まれます。
8.勾配降下とは正確には何ですか?
コスト関数またはエラーを最小化するための最良のアプローチは、勾配降下法です。 関数のローカルグローバル最小値を見つけることが目標です。 これは、エラーを最小限に抑えるためにモデルがたどるべきパスを指定します。
9. 費用関数とは正確には何ですか?
コスト関数は、モデルのパフォーマンスを評価するための指標です。 「損失」または「エラー」と呼ばれることもあります。 バックプロパゲーション中に、出力レイヤーのエラーを計算するために使用されます。
その不正確さを悪用して、ニューラル ネットワークを介して押し戻すことで、ニューラル ネットワークのトレーニング プロセスを進めます。
10. 深いネットワークが浅いネットワークよりも優れている理由は何ですか?
隠れ層は、入力層と出力層に加えて、ニューラル ネットワークに追加されます。 入力層と出力層の間に、浅いニューラル ネットワークは単一の隠れ層を使用しますが、深いニューラル ネットワークは多数のレベルを使用します。
浅いネットワークでは、任意の関数に適合できるようにするために、いくつかのパラメーターが必要です。 ディープ ネットワークにはいくつかのレイヤーが含まれているため、パラメーターの数が少ない場合でも、関数に適しています。
ディープ ネットワークは、音声認識であろうと画像認識であろうと、あらゆるタイプのデータ モデリングを処理できる汎用性があるため、現在好まれています。
11.順伝播について説明してください。
入力は、転送伝搬と呼ばれるプロセスで埋め込み層に重みと共に送信されます。
アクティベーション関数の出力は、処理が次の層に進む前に、すべての埋め込み層で計算されます。
このプロセスは入力層から始まり、最終的な出力層に進むため、順伝播と呼ばれます。
12. バックプロパゲーションとは何ですか?
ニューラル ネットワークで重みとバイアスが調整されると、バックプロパゲーションを使用して、最初に値がどのように変化するかを観察することでコスト関数が削減されます。
各隠れ層の勾配を理解すると、この変化の計算が簡単になります。
バックプロパゲーションと呼ばれるプロセスは、出力層から始まり、入力層に戻ります。
13. 深層学習の文脈において、勾配クリッピングをどのように理解しますか?
勾配クリッピングは、バックプロパゲーション中に発生する爆発的な勾配の問題を解決するための方法です (重大な不正確な勾配が時間の経過とともに蓄積され、トレーニング中にニューラル ネットワーク モデルの重みが大幅に調整される状態)。
勾配の爆発は、トレーニング中に勾配が大きくなりすぎてモデルが不安定になる場合に発生する問題です。 勾配が予想範囲を超えた場合、勾配値は要素ごとに定義済みの最小値または最大値にプッシュされます。
勾配クリッピングは、トレーニング中のニューラル ネットワークの数値安定性を向上させますが、モデルのパフォーマンスへの影響は最小限に抑えます。
14. Softmax 関数と ReLU 関数とは何ですか?
Softmax と呼ばれる活性化関数は、0 ~ 1 の範囲の出力を生成します。各出力は、すべての出力の合計が XNUMX になるように分割されます。 出力レイヤーには、Softmax が頻繁に使用されます。
ReLU とも呼ばれる Rectified Linear Unit は、最もよく使用されるアクティベーション関数です。 X が正の場合は X を出力し、それ以外の場合はゼロを出力します。 ReLU は埋め込み層に定期的に適用されます。
15. すべての重みを 0 に設定してニューラル ネットワーク モデルをトレーニングできますか?
ニューラル ネットワークは与えられたジョブを完了することを決して学習しないため、すべての重みを 0 に初期化してモデルをトレーニングすることはできません。
すべての重みがゼロに初期化されている場合、導関数は W [1] のすべての重みに対して同じままであり、ニューロンが同じ特徴を繰り返し学習することになります。
単純に重みを 0 に初期化するのではなく、任意の形式の定数に初期化すると、標準以下の結果になる可能性があります。
16. エポックとバッチおよびイテレーションの違いは何ですか?
データセットと勾配降下法を処理するさまざまな形式には、バッチ、反復、およびエポックが含まれます。 エポックには、順方向と逆方向の両方の完全なデータセットを含むニューラル ネットワークが XNUMX 回だけ含まれます。
信頼できる結果を提供するために、データセットは大きすぎて XNUMX 回の試行で合格できないため、頻繁に数回合格します。
ニューラルネットワークを介して少量のデータを繰り返し実行するこの手法は、反復と呼ばれます。 データ セットがニューラル ネットワークを正常に通過することを保証するために、バッチ処理と呼ばれる多数のバッチまたはサブセットに分割できます。
データ収集のサイズに応じて、エポック、反復、バッチ サイズの XNUMX つの方法はすべて、基本的に 勾配降下法アルゴリズム.
17. バッチ正規化とドロップアウトとは?
ドロップアウトは、可視ネットワーク ユニットと非表示ネットワーク ユニットの両方をランダムに削除することで、データの過適合を防ぎます (通常、ノードの 20% を削除します)。 ネットワークを収束させるために必要な反復回数が XNUMX 倍になります。
各層の入力を正規化して、平均出力アクティベーションが XNUMX で標準偏差が XNUMX になるようにすることで、バッチ正規化はニューラル ネットワークのパフォーマンスと安定性を向上させる戦略です。
18. 確率的勾配降下法とバッチ勾配降下法の違いは何ですか?
バッチ勾配降下:
- 完全なデータセットは、バッチ勾配の勾配を構築するために使用されます。
- 膨大な量のデータとゆっくりと更新される重みにより、収束が困難になります。
確率的勾配降下:
- 確率的勾配は、単一のサンプルを使用して勾配を計算します。
- 重みの変更がより頻繁に行われるため、バッチ勾配よりもはるかに速く収束します。
19.ニューラルネットワークに非線形性を含めることが重要なのはなぜですか?
層の数に関係なく、ニューラル ネットワークは非線形性がない場合はパーセプトロンのように動作し、出力は入力に線形依存します。
別の言い方をすれば、n 層、m 個の隠れユニットと線形活性化関数を備えたニューラル ネットワークは、隠れ層がなく、線形分離境界のみを検出する機能を備えた線形ニューラル ネットワークと同等です。
非線形性がなければ、ニューラル ネットワークは複雑な問題を解決したり、入力を正確に分類したりすることができません。
20.深層学習におけるテンソルとは?
テンソルとして知られる多次元配列は、行列とベクトルの一般化として機能します。 これは、深層学習にとって重要なデータ構造です。 基本データ型の N 次元配列は、テンソルを表すために使用されます。
テンソルのすべてのコンポーネントは同じデータ型を持ち、このデータ型は常に既知です。 形状の一部 (つまり、次元がいくつあり、それぞれの大きさ) だけがわかっている可能性があります。
入力も完全に既知である状況では、操作の大部分は完全に既知のテンソルを生成します。 それ以外の場合、テンソルの形式はグラフの実行中にのみ確立できます。
21. 深層学習モデルの活性化関数をどのように選びますか?
- 予想される結果が実際のものである場合、線形活性化関数を使用することは理にかなっています。
- 予測する必要がある出力がバイナリ クラスの確率である場合は、シグモイド関数を使用する必要があります。
- 予測される出力に XNUMX つの分類が含まれる場合、Tanh 関数を利用できます。
- 計算が簡単なため、ReLU 関数はさまざまな状況に適用できます。
22. CNN とはどういう意味ですか?
視覚イメージの評価に特化したディープ ニューラル ネットワークには、畳み込みニューラル ネットワーク (CNN、または ConvNet) が含まれます。 ここでは、ベクトルが入力を表すニューラル ネットワークではなく、入力はマルチチャネル画像です。
多層パーセプトロンは、前処理をほとんど必要としない CNN によって特別な方法で使用されます。
23. 多くの CNN レイヤーとは?
畳み込み層: メイン層は畳み込み層で、さまざまな学習可能なフィルターと受容野があります。 この初期レイヤーは、入力データを受け取り、その特性を抽出します。
ReLU レイヤー: ネットワークを非線形にすることで、このレイヤーは負のピクセルをゼロにします。
プーリング層: 処理とネットワーク設定を最小化することにより、プーリング層は表現の空間サイズを徐々に最小化します。 最大プーリングは、最もよく使用されるプーリングの方法です。
24. オーバーフィッティングとアンダーフィッティングの影響は何ですか?どうすれば回避できますか?
これは、モデルがトレーニング データの複雑さとノイズをモデルの新しいデータの使用に悪影響を与えるポイントまで学習する場合、オーバーフィッティングとして知られています。
目標関数を学習する際により適応性の高い非線形モデルで発生する可能性が高くなります。 自動車やトラックを検出するようにモデルをトレーニングすることはできますが、特定の箱型の車両しか識別できない場合があります。
XNUMX 種類のトラックでしか訓練されていないことを考えると、フラットベッド トラックを検出できない可能性があります。 トレーニング データでは、モデルはうまく機能しますが、実際の世界では機能しません。
適合不足のモデルとは、データで十分にトレーニングされていないか、新しい情報に一般化できないモデルを指します。 これは、モデルが不十分または不正確なデータでトレーニングされている場合によく発生します。
精度とパフォーマンスの両方が、適合不足によって損なわれます。
データをリサンプリングしてモデルの精度を推定すること (K 分割クロス検証) と、検証データセットを使用してモデルを評価することは、オーバーフィットとアンダーフィットを回避する XNUMX つの方法です。
25.深層学習では、RNN とは何ですか?
一般的な種類の人工ニューラル ネットワークであるリカレント ニューラル ネットワーク (RNN) は、RNN という略語で呼ばれます。 それらは、とりわけ、ゲノム、手書き、テキスト、およびデータシーケンスを処理するために使用されます。 必要なトレーニングのために、RNN はバックプロパゲーションを採用しています。
26. Adam Optimizer について説明する
アダプティブ モメンタムとも呼ばれる Adam オプティマイザーは、勾配がまばらなノイズの多い状況を処理するために開発された最適化手法です。
Adam オプティマイザは、より迅速な収束のためにパラメータごとの更新を提供するだけでなく、モメンタムによって収束を強化し、モデルが鞍点に閉じ込められないようにします。
27. Deep autoencoders: 彼らは何ですか?
ディープ オートエンコーダーは、XNUMX つの対称的なディープ ビリーフ ネットワークの総称であり、通常、ネットワークの半分をエンコードするための XNUMX つまたは XNUMX つの浅いレイヤーと、半分をデコードするための XNUMX つまたは XNUMX つの層の別のセットを含みます。
これらの層は、深い信念ネットワークの基盤を形成し、ボルツマン マシンによって制約されます。 各 RBM の後、ディープ オートエンコーダーがバイナリ変更をデータセット MNIST に適用します。
これらは、RBM よりもガウス修正変換が優先される他のデータセットでも使用できます。
28. Tensorflow における Tensor とは何を意味しますか?
これは、定期的に尋ねられるもう XNUMX つのディープ ラーニング インタビューの質問です。 テンソルは、高次元配列として視覚化される数学的概念です。
テンソルは、ニューラル ネットワークへの入力として提供されるこれらのデータ配列であり、さまざまな次元とランキングを持ちます。
29. 計算グラフの説明
TensorFlow の基礎は、計算グラフの構築です。 各ノードは、ノードのネットワークで機能します。ここで、ノードは数学演算を表し、エッジはテンソルを表します。
データがグラフの形で流れるため、「DataFlow グラフ」と呼ばれることもあります。
30. 敵対的生成ネットワーク (GAN): それらは何ですか?
深層学習では、敵対的生成ネットワークを使用して生成モデリングが実現されます。 これは、入力データのパターンを識別することによって結果が生成される教師なしジョブです。
ディスクリミネーターは、ジェネレーターによって生成されたインスタンスを分類するために使用されますが、ジェネレーターは新しい例を生成するために使用されます。
31. アーキテクチャを設計する際に、ニューラル ネットワークに含めるニューロンと隠れ層の数をどのように選択しますか?
ビジネス上の課題を考えると、ニューラル ネットワーク アーキテクチャを構築するために必要なニューロンと隠れ層の正確な数は、厳格な規則によって決定することはできません。
ニューラル ネットワークでは、隠れ層のサイズは、入力層と出力層のサイズの中間に収まる必要があります。
ただし、ニューラル ネットワーク設計の作成を有利に開始するには、いくつかの簡単な方法があります。
いくつかの基本的な体系的なテストから始めて、類似した実世界の設定でニューラル ネットワークを使用した以前の経験に基づいて、特定のデータセットに最適なパフォーマンスを確認することが、実世界の予測モデリングに関するあらゆる固有の課題に取り組むための最良の方法です。
ネットワーク構成は、問題領域に関する知識と以前のニューラル ネットワークの経験に基づいて選択できます。 ニューラル ネットワークのセットアップを評価する場合、関連する問題で使用される層とニューロンの数から始めるのが適切です。
ニューラル ネットワークの複雑さは、単純なニューラル ネットワークの設計から始めて、予想される出力と精度に基づいて徐々に増やしていく必要があります。
32. 深層強化学習ではどのような種類のニューラル ネットワークが使用されますか?
- 強化学習と呼ばれる機械学習パラダイムでは、モデルは、生きているものと同じように、累積報酬のアイデアを最大化するように機能します。
- ゲームと自動運転車は、どちらも以下の問題として説明されています。 強化学習.
- 表示する問題がゲームの場合、画面が入力として使用されます。 次のフェーズの出力を生成するために、アルゴリズムはピクセルを入力として受け取り、畳み込みニューラル ネットワークの多くの層を介してそれらを処理します。
- モデルのアクションの結果は、好ましいか悪いかに関係なく、補強として機能します。
まとめ
深層学習は、事実上すべての業界分野で応用され、長年にわたって人気が高まっています。
企業は、深層学習と機械学習のアプローチを使用して人間の行動を再現するモデルを設計できる有能な専門家をますます求めています。
スキルセットを向上させ、これらの最先端技術の知識を維持する候補者は、魅力的な報酬で幅広い仕事の機会を見つけることができます。
深層学習のインタビューで最も頻繁に要求されるいくつかの質問への回答方法をしっかりと把握できたので、インタビューを開始できます。 目的に応じて次のステップに進みます。
Hashdork's を訪問 インタビューシリーズ 面接の準備に。
コメントを残す