ウェブサイト検索
プログラミングにおいて最も難しい決定の 1 つは、 名前の選択です。プログラマーは、Python 関数名を選択する際の課題を強調するためにこのフレーズをよく使用します。それは誇張かもしれませんが、それでも多くの真実が含まれています。
Python 関数やその他のオブジェクトに名前を付ける際には、 破ることができない厳しいルールがいくつかあります。破
続きを読む →Python の zip() 関数は、複数のリストやその他の反復可能オブジェクト (タプル、セット、文字列など) を 1 つのタプルの反復可能オブジェクトに結合できる優れたツールです。両面を結び付けるジャケットのジッパーのようなものだと考えてください。
このガイドでは、zip() 関数の詳細を、効果的な使用方法を理解するのに役立つシンプルで実用的な例とともに詳しく説明します。
部分関数を使用して Python コードを簡素化し、より柔軟で再利用可能で簡潔な関数呼び出しを作成する方法を学びます。
Python では、関数に複数の引数が必要なことが多く、特定のパラメーターに同じ値を繰り返し渡すことがあるかもしれません。ここで部分関数が役に立ちます。
Python の組み込み functools モジュールを使用すると、部分的な関数を作成できます。部分関数を作成すると、関数の引数の一部を修正して、より簡潔な新しいバージョンを作成できます。
このチュートリアルでは、部分関数を効果的に使用し
続きを読む →Keras Python ライブラリを使用すると、深層学習モデルを迅速かつ簡単に作成できます。
シーケンシャル API を使用すると、ほとんどの問題に対してレイヤーごとにモデルを作成できます。レイヤーを共有するモデル、または複数の入力または出力を持つモデルを作成できないという制限があります。
Keras の関数 API は、より複雑なモデルの作成など、より高い柔軟性を提供するモデル作成の代替方法です。
このチュートリアルでは、Keras のより柔軟な関数 API を使用して深層学習モデルを定義する方法を学びます。
このチュートリアルを完了すると、次のことがわかります。
ニューラル ネットワークでは、アクティベーション関数は、ノードからの合計加重入力をノードのアクティベーションまたはその入力の出力に変換する役割を果たします。
修正線形活性化関数または略してReLUは、入力が正の場合は直接出力し、それ以外の場合はゼロを出力する区分線形関数です。これを使用するモデルはトレーニングが容易で、多くの場合、より優れたパフォーマンスを達成できるため、多くの種類のニューラル ネットワークのデフォルトの活性化関数となっています。
このチュートリアルでは、深層学習ニューラル ネットワークの修正線形活性化関数を学習します。
このチュートリアルを完了すると、次のことがわかります。
勾配消失問題は、ディープ ニューラル ネットワークをトレーニングするときに遭遇する可能性のある不安定な動作の一例です。
これは、深層多層フィードフォワード ネットワークまたはリカレント ニューラル ネットワークが、モデルの出力端からモデルの入力端に近い層に有用な勾配情報を伝播できない状況を表します。
その結果、一般に、多くの層を含むモデルが特定のデータセットで学習できなくなったり、多くの層を含むモデルが時期尚早に不適切な解に収束してしまうことがあります。
代替の重み初期化スキーム、教師なし事前トレーニング、層ごとのトレーニング、勾配降下法のバリエーションなど、多くの修正と回避策が提案され、調査されています。おそらく最も一般的な変更は、1990 年代後半から 2000 年代までデフォルトであった双曲線正接活性化関数の代わりに、新しいデフォルトとなった修正線形活性化関数の使用です。
このチュートリアルでは、ニューラル ネットワーク モデルのトレーニング時に勾配消失問題を診断する方法と、代替の活性化関数と重み初期化スキームを使用して問題を
続きを読む →ニューラル ネットワークは確率的勾配降下法を使用してトレーニングされるため、モデルの設計および構成時に損失関数を選択する必要があります。
選択できる損失関数は数多くあり、何を選択すればよいのか、さらには損失関数とは何なのか、ニューラル ネットワークをトレーニングする際に損失関数が果たす役割を知るのは難しい場合があります。
この投稿では、ディープ ラーニング ニューラル ネットワークのトレーニングにおける損失と損失関数の役割と、予測モデリングの問題に適切な損失関数を選択する方法を説明します。
この投稿を読むと、次のことがわかります。
深層学習ニューラル ネットワークは、確率的勾配降下最適化アルゴリズムを使用してトレーニングされます。
最適化アルゴリズムの一部として、モデルの現在の状態の誤差を繰り返し推定する必要があります。これには、 次の評価で損失を減らすために重みを更新できるように、モデルの損失を推定するために使用できる誤差関数 ( 従来は損失関数 と呼ばれています) を選択する必要があります。
ニューラル ネットワーク モデルは、例からの入力から出力へのマッピングを学習し、損失関数の選択は、分類や回帰などの特定の予測モデリング問題の枠組みと一致する必要があります。さらに、出力層の構成も、選択した損失関数に適切でなければなりません。
このチュートリアルでは、特定の予測モデリング問題に対して深層学習ニューラル ネットワークの損失関数を選択する方法を学びます。
このチュートリアルを完了すると、次のことがわかります。
Generative Adversarial Network (略して GAN) は、強力なジェネレーター モデルをトレーニングするための深層学習アーキテクチャです。
ジェネレーター モデルは、既存のサンプル分布から得られた可能性がある新しい人工サンプルを生成できます。
GAN はジェネレーター モデルとディスクリミネーター モデルの両方で構成されます。ジェネレーターはドメインから新しいサンプルを生成する役割を果たし、ディスクリミネーターはサンプルが本物か偽物 (生成されたもの) かを分類する責任を負います。重要なのは、弁別器モデルのパフォーマンスは、弁別器自体のモデル重みと生成器モデルの両方を更新するために使用されることです。これは、ジェネレーターが実際にはドメインの例を参照することはなく、ディスクリミネーターのパフォーマンスに基づいて調整されることを意味します。
これは、理解するのも訓練するのも複雑なタイプのモデルです。
GAN モデルの性質とそのトレーニング方法をより深く理解するための 1 つのアプローチは、非常に単純なタスク
続きを読む →Generative Adversarial Network (略して GAN) は、生成モデルをトレーニングするためのアーキテクチャです。
アーキテクチャは 2 つのモデルで構成されます。関心のあるジェネレーターと、ジェネレーターのトレーニングを支援するために使用される識別子モデル。当初、ジェネレーター モデルとディスクリミネーター モデルは両方とも多層パーセプトロン (MLP) として実装されましたが、最近ではモデルがディープ畳み込みニューラル ネットワークとして実装されています。
GAN がどのようにトレーニングされるのか、またジェネレーター モデルとディスクリミネーター モデルの損失関数を正確に理解して実装する方法を理解するのは難しい場合があります。
このチュートリアルでは、敵対的生成ネットワーク トレーニング アルゴリズムと損失関数を実装する方法を学びます。
このチュートリアルを完了すると、次のことがわかります。