Pytorch クイックスタートと実戦 - 1.知識の準備(要素の紹介)

コラムディレクトリ: pytorch (画像分割UNet) クイック入門と実戦 - ゼロ、まえがき
pytorch クイック入門と実戦 - 1、知識の準備(要素の紹介)
pytorch クイック入門と実戦 - 2、深層学習の古典的なネットワーク開発
pytorch クイック導入と実際の戦闘 - 3、Unet による
pytorch の迅速な導入と実際の戦闘 - 4、ネットワークのトレーニングとテスト


クロスエントロピー、正則化、アイデンティティマッピング、および劣化。私もファンです、恐れることはありません、とにかくうまくいくなら大丈夫です。
勾配降下法とは何ですか、BP アルゴリズムとは何ですか、計算グラフとは何ですか、完全連続ネットワークとは何ですか、畳み込みネットワークとは...うーん、わかりました。畳み込みネットワークについてはまだ理解しているので、深層学習に進みます。

畳み込みが理解できない場合は、これを見てください:機械学習への道 3: 畳み込みニューラル ネットワーク

コードの作業を開始するまでの最速速度を目指して、次の概念を理解すると非常に快適になります。1 つあたり約 5 分で理解できます。特定のステーション @莫追python および特定の达@晓强を参照してください
。 DLとこのサイト ボスを待って、
より詳細なものが好きなら、特定のステーションで @刘二大人 を見つけることができます

0 機械学習と深層学習

機械学習開発:線形分類 -> パーセプトロン -> 勾配降下法 -> ニューラルネットワーク -> BP アルゴリズム -> 3 層全結合ネットワーク -> CNN のような SVM サポートベクトルパーセプトロン、デシジョンツリー、EM アルゴリズム、確率マップ、ナイーブ
ベイすべて特別な機械学習です。

もちろん、ディープラーニングも機械学習に属します。違いはどこにあるのでしょうか?
畳み込みニューラルネットワーク!

2012 年、AlexNet は特徴エンジニアリングと分類を統合し、畳み込みニューラル ネットワークを使用して CV 分野における従来の機械学習手法を打ち破り、マイルストーンとして、畳み込みニューラル ネットワークによるコンピューター ビジョンの支配への序曲を開き、コンピューターの応用を加速しました。ヴィジョン。

1 データ前処理の概念

1.1 データの特徴

スイカの本の典型的な例であるスイカには、さまざまな特徴があり、それをネットワーク (または人間の脳) に入力して判断できます。
スイカのことはよくわからないので変更しました。
犬のグループと猫のグループがたまたま黄色の犬と白猫だった場合、色の特徴を選択するとこの分類タスクをうまく解決できますが、目の数と数を選択すると、この問題を解決するのは困難になります。尾の。
したがって、優れた特徴によって問題をうまく説明できます。
良い機能を選択し、悪い機能を除外する必要があります。

具体的な例はさらに複雑です。
参考:便利な機能の見分け方

1.2 機能の標準化

具体的なインスタンスには非標準の機能が多数あります。

住宅価格は、さまざまなパラメータ(市内中心部、フロア、エリア、都市など)によって異なります。
2 つのパラメータを例に挙げます。km 単位の距離と m2 単位の面積は
約 10km、面積は 0 ~ 200、スパンが異なり、影響が異なります。つまり、重みが異なります (ただし、そうではありません)。重要性を反映します)。ただし、正規化後、重みは重要性をより適切に反映できます。
2 つの方法:
ここに画像の説明を挿入
そして! 距離や面積など、一部の特徴は定量化されます。
ただし、「自分がいる都市」など、定量化されていない特徴がまだいくつかあるため、都市の等級付けなど、特徴を定量化して問題を解決する方法を見つけることができます。
参考:なぜ機能を標準化するのか

1.3 不平衡データの処理

典型的な例: 猫の 99 枚の「写真」 「例」 (「写真」は認識の問題を引き起こす可能性があるため、ここでは「例」に置き換えます)、およびトレーニング セットとしての犬の写真の例。(これらの例は特徴の説明であり、色の高さの重みや写真内のピクセル値の分布などです)
機械がすべての猫を推測する限り、正解率は 99% に達する可能性があります
。犬猫分類問題、この機械の分類 この手法の分類正解率は猫は100%ですが、犬は0%なので、実際には
この機械は犬猫分類問題を解くことはできません
[単に分類するだけで、分類するわけではありません]認識]

• 也就是说这个数据集不能解决这个问题,那么就要对数据集进行处理。

1. より良いデータセットを見つける
2. 犬の例を複製し、同じにする
3. 猫の例を減らし、同じにする

他の方法については、次の記事を参照してください:不均衡なデータの処理

2 ネットワーク設計の概念

2.1 励磁機能

私はそれについてあまり詳しくないので、私の意見を簡単に話しましょう:
まず第一に、すべてのピンチされた特徴が永遠に続くわけではありません. ニューラル ネットワークの作業のプロセスでは、削除する必要がある特徴の組み合わせが多数あります。メカニズムは活性化関数です。したがって、アクティベーション関数は結果を再変換して、アクティベーション標準を満たしているかどうかを判断します。
平たく言えば、この道が行けるかどうか、0なら行けない(ニューロンを殺す)、0でなければ行ける(ニューロンを活性化する)。
以前のメモ:

将线性函数变成非线性来解决非线性问题。也就是对y再进行一次变换。
但这些激励函数必须可微分。因为多层网络的梯度传导中,需要对微分计算梯度下降方向。
对于浅层网络,激励函数选择没有那么大要求。
但是当网络层数比较深的时候,激励函数选择不甚会导致梯度消失以及梯度下降问题。
也和梯度传导过程中的微分有关。
浅层的CNN可以用relu,浅层循环网络可以用relu或者tanh

うーん、これは私の感覚です。具体的な参考資料:
なぜインセンティブ関数が必要なの
か よく使われるインセンティブ関数

2.2 オプティマイザー オプティマイザーはニューラル ネットワーク トレーニング (SGD など) を高速化します

参考:オプティマイザーによるニューラル ネットワーク トレーニングの高速化

2.3 BN層

このセクションでは簡単に紹介し、続いて GoogleNet-V2 で詳しく紹介します。
バッチ正規化 (BN: Batch Normalization: 勾配の消失や爆発を防ぐために、学習プロセス中に中間層のデータ分布が変化する問題を解決し、学習速度を高速化します。) Tanh 活性化関数を例にとります。の場合、中央部分の学習データのみが
相対的に効果の高いデータであり、それが両側に分散されている場合、学習過程での影響が比較されます。「固定」(変更してもあまり変わらない)
ここに画像の説明を挿入
なので、データ全体の分布に影響を与えずに移行、つまり標準化を行い、比較的分布を維持したままデータを良い間隔に変換することができるので、より良くなります。影響力」トレーニング。

参考:
バッチ正規化
BN 層を使用する理由の詳細な説明

2.4 従来のネットワークの開発と選択

ネットワークをモジュールに分割すると、4 層構造が大きすぎ、長さ自体も長すぎるため、書き込みや読み取りに不便になるからです。ここでは、医用画像処理用に Unet ネットワークを直接選択します。
単一の記事を開いて紹介します: pytorch の簡単な導入と実戦 - 2. 深層学習の古典的なネットワーク開発

3. 損失​​関数の概念

あまり囚われずに、何気なく見るか、見ないでください。この段階では、とにかくエラーであると理解するだけで良いです。
一般的な損失関数

3.1 L1 L2 正則化

L1 L2 正則化とは

3.2 平均二乗誤差

ここに画像の説明を挿入

3.3 クロスエントロピーコスト関数(クロスエントリー)

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43938876/article/details/123332450