ディープラーニングインタビューの質問と回答のトップ10
公開: 2019-08-29まだ進化していますが、ディープラーニングはデータサイエンスの分野で画期的なテクノロジーとして登場しました。 GoogleのDeepMindから自動運転車まで、DeepLearningのイノベーションは全世界を畏敬の念を抱かせてきました。 世界中の企業や組織は、ビジネスの可能性を高めるためにディープラーニング技術を採用しています。 その結果、ディープラーニングと機械学習の熟練した専門家に対する需要が前例のないペースで増加しています。 実際、データサイエンスは現在市場で非常に熱くなっているため、データサイエンスでキャリアを築くことができれば、準備は万端です。
ご存知のように、ディープラーニングで成功する仕事に着手するには、最初に面接を釘付けにする必要があります。これは、就職活動プロセスで最も困難な課題の1つです。
そのため、私たちはあなたが有利なスタートを切るのを少し簡単にすることに決め、ディープラーニングの面接で最もよく聞かれる10の質問のリストをまとめました!
- ディープラーニングとは何ですか?
ディープラーニングは、機械学習のサブセットであり、人工ニューラルネットを使用して、機械が人間のように意思決定をシミュレートできるようにします。 ニューラルネットは、人間の脳のニューロン構造に触発されています。 ディープラーニングは、機能検出、コンピュータービジョン、音声認識、自然言語処理などの分野で数多くのアプリケーションを発見しました。
- パーセプトロンとは何ですか?
これを理解するには、まず生物学的ニューロンがどのように機能するかを理解する必要があります。 ニューロンは、細胞体、軸索、樹状突起で構成されています。
樹状突起は他のニューロンから信号を受信しますが、細胞体は受信したすべての入力を合計し、軸索は細胞体によってコンパイルされた情報を信号として他の細胞に送信します。

このように、ニューラルネットのパーセプトロンは複数の入力を受け取り、それらの入力にさまざまな変換と関数を適用し、最後に情報を組み合わせて出力を生成します。 二項分類に使用される線形モデルです。
- 重みとバイアスの機能は何ですか?
ニューラルネットワーク内のノードをアクティブ化するには、次の式を使用する必要があります。
出力=activation_function(dot_product(weights、inputs)+バイアス)
ここで、重みは分類線の傾きを決定しますが、バイアスは活性化関数が傾きを左または右にシフトできるようにします。 一般に、バイアスは値x0を持つ重み入力として扱われます。
- 活性化関数の役割は何ですか?
活性化関数は、非線形性をニューラルネットワークに挿入して、複雑なタスクの学習を支援するために使用されます。 重みの合計を計算し、それにさらにバイアスを加えることによって、ニューロンをトリガーまたはアクティブ化します。 活性化関数がないと、ニューラルネットワークは線形関数、つまり入力データの線形結合のみを実行できます。
- 最急降下法とは何ですか?
最急降下法は、勾配の負の値によって決定される最急降下法の方向に継続的に移動することにより、特定のパラメーターのコスト関数を最小化するために使用される最適化アルゴリズムです。
- コスト関数とは何ですか?
コスト関数(「損失」とも呼ばれます)は、特定のトレーニングサンプルと期待される出力に関連するニューラルネットワークの精度の尺度です。 これは、ニューラルネットワークが全体としてどれだけうまく機能するかを決定します。 ニューラルネットワークでは、コスト関数やエラーを最小限に抑えるという目標は常に同じです。
- バックプロパゲーションとは何ですか?
バックプロパゲーションは、ネットワークのパフォーマンスを向上させるために多層ニューラルネットワークで使用されるトレーニングアルゴリズムです。 この方法では、エラーをネットワークの一方の端からネットワーク内に含まれるすべての重みに移動する必要があります。これにより、勾配の効率的な計算が容易になり、エラーが最小限に抑えられます。 仕組みは次のとおりです。
- まず、トレーニングデータが伝播を進めて出力を生成します。
- 目標値と出力値を使用して、出力のアクティブ化に関連する誤差導関数を計算します。
- すべての非表示レイヤーのデータをバックプロパゲーションし、パラメーター(重みとバイアス)を更新します。 エラーが最小になるまでこれを続けます。
- これで、入力をモデルにフィードでき、出力をより正確に予測できます。
- データの正規化とは何ですか? どうしてそれが重要ですか?
データの正規化は、バックプロパゲーション中の前処理ステップです。 これは、データの冗長性を排除または最小化することを目的としています。 データの正規化は、値を特定の範囲内に収まるように再スケーリングして、バックプロパゲーションの収束を改善するのに役立ちます。各データポイントの平均が差し引かれ、その標準偏差で除算されます。

- ニューラルネットワークで重みを初期化するにはどうすればよいですか?
基本的に、重みの初期化には2つの方法があります–

- 重みをゼロ(0)に初期化します。これにより、モデルは線形モデルのようになります。つまり、すべてのニューロンとすべての層が同じ機能を実行し、ディープネットの生産性が低下します。
- 重みをランダムに初期化する:この方法では、0に非常に近い値を初期化することにより、重みをランダムに割り当てます。ニューロンが異なれば計算も異なるため、この方法では精度が向上します。
- ハイパーパラメータとは何ですか?
ハイパーパラメータは、トレーニングプロセスの前に値が設定される変数です。 これらは、ネットワークの構造とネットワークのトレーニング方法の両方を決定します。
いくつか例を挙げると、活性化関数、学習率、隠れ層の数、ネットワークの重みの初期化、バッチサイズ、運動量など、ニューラルネットワークで使用される多くのハイパーパラメーターがあります。
- CNNとは何ですか? その異なる層は何ですか?
CNNまたは畳み込みニューラルネットワークは、主に視覚的表現の分析に使用される一種のディープニューラルネットワークです。 これらのネットワークは、最小限の前処理を必要とする多層パーセプトロンのホストを使用します。 ニューラルネットワークはベクトルを入力として使用しますが、CNNでは、入力はマルチチャネル画像です。
CNNのさまざまなレイヤーは次のとおりです。
- 畳み込み層–この層は畳み込み演算を実行して、データを解析するための多数の小さな画像ウィンドウを作成します。
- ReLUレイヤー–このレイヤーは、ネットワークに非線形性をもたらします。 すべての負のピクセルをゼロに変更します。
- プーリングレイヤー–このレイヤーは、ダウンサンプリング操作を実行して、各特徴マップの次元を減らします。
- 完全に接続されたレイヤー–このレイヤーは、サンプル画像に存在するすべてのオブジェクトを認識して分類します。
つまり、これは、DLインタビュー中にインタビュアーがおそらく尋ねる10の基本的なディープラーニングの質問です。 ただし、面接の質問を読むだけでは就職の面接をクラックするのに十分ではありません-あなたはその分野の深い知識を持っている必要があります。 最善の行動は、ディープラーニングと機械学習の認定プログラムに登録することです。 これらのプログラムは、MLとDLの両方のazを教えるように設計されています。
ディープラーニングエンジニアとして上手くいくために必要なスキルは何ですか?
ディープラーニングエンジニアは、その用語が示すように、優れたエンジニアリング、技術、および分析の能力を備えている必要があります。 完全に接続されたネットワーク、CNN、RNNなどの複数のニューラルネットワークアーキテクチャを理解して利用すること、および完全に接続されたネットワーク、CNN、RNNなどの多数のニューラルネットワーク設計を理解して使用することは、深層学習エンジニアの立場に必要な能力です。 ディープラーニングエンジニアは、展開タスクとコード変換を担当します。したがって、彼または彼女は、強力なプログラミング能力と、プロトタイプおよび本番コードの完全な理解を持っている必要があります。 すべてのキャリアには、間違いなく、優れた対人スキルが必要です。 結果として、あなたはあなたのクライアントや同僚との流動的なコミュニケーターでなければなりません。
ディープラーニングエンジニアが必要とするツールはどれですか?
ディープラーニングエンジニアは、展開、データエンジニアリング、モデリングなどのサブタスクを完了する責任があります。 彼らは彼らの仕事をより簡単にしそして時間を節約するためにいくつかのツールを採用しています。 Pythonと、Numpy、Pandas、Pytorchなどの関連パッケージは、サブタスクのモデリングに使用されます。 要件に応じて、Java、C、C++などのさまざまなプログラミング言語を使用してコードを変換します。 デプロイ業務は、AWS、GCP、Azureなどのさまざまなクラウドテクノロジーを使用して実行されます。 Jupyter Notebook、Sublime、JIRAなどのプラットフォームを利用して、コラボレーションを軌道に乗せ、ワークフローを合理化します。
数学は深層学習の分野でうまくいくために必要ですか?
ディープラーニングの分野では、分析的および技術的な問題の解決に長けている必要があります。 この分野で上手くいくために数学の魔法使いである必要はありませんが、代数、微積分、統計、および確率の基本的な概念を確実に知っている必要があります。 基本的な概念を知っていると、作業が簡単になるだけです。