>  기사  >  백엔드 개발  >  딥 러닝 필수사항

딥 러닝 필수사항

Susan Sarandon
Susan Sarandon원래의
2024-11-15 10:53:02595검색

Il s'agit d'un sous-ensemble de l'apprentissage automatique qui se concentre sur l'utilisation de réseaux de neurones comportant de nombreuses couches pour modéliser et comprendre des modèles complexes dans les données.

Le réseau neuronal est un type d'algorithme d'apprentissage automatique conçu pour apprendre à partir des données en ajustant le poids des connexions entre les neurones en fonction des erreurs dans leurs prédictions.

Neurone

L'unité fondamentale d'un réseau neuronal est le neurone artificiel, souvent simplement appelé neurone. Un neurone artificiel s'inspire des neurones biologiques du cerveau humain et est chargé d'effectuer un petit calcul spécifique dans le réseau.

1) Chaque neurone reçoit une ou plusieurs entrées, les traite (souvent en appliquant une fonction mathématique), puis produit une sortie.

2) Le neurone applique généralement une somme pondérée de ses entrées suivie d'une fonction d'activation pour introduire une non-linéarité. La sortie de cette fonction est ensuite transmise à la couche suivante du réseau ou sert de sortie finale si elle se trouve dans la couche de sortie.

Perceptron (réseau monocouche)

Entrées : Le perceptron reçoit plusieurs entrées, chacune représentée par un nombre à virgule flottante.

Poids : Chaque entrée est multipliée par un poids correspondant, qui est également un nombre à virgule flottante. Le poids détermine l'importance de la contribution dans le processus de prise de décision.

Sommation : Les entrées pondérées sont ensuite additionnées pour produire une valeur unique.

Seuil (ou Biais) : Le perceptron compare le résultat de la sommation à une valeur seuil

Sortie :

Si la somme est supérieure à 0 (ou au seuil), le perceptron produit 1 (ou 1 dans certaines versions).

Si la somme est inférieure ou égale à 0, le perceptron génère -1 (ou 0 dans certaines versions).

(Remarque : les Perceptrons se limitent à résoudre des problèmes linéairement séparables, ce qui signifie qu'ils ne peuvent classer que des données qui peuvent être séparées par une ligne droite)

La plupart des problèmes intéressants, et même certains très simples, dépassaient manifestement la capacité de résolution d'un perceptron. Cette période, qui a duré approximativement entre les années 1970 et 1990, était appelée l'hiver de l'IA

IA hiver

Cette période a été marquée par la déception face aux premières technologies d'IA telles que les systèmes experts, qui avaient des difficultés en termes d'évolutivité et d'application dans le monde réel. En conséquence, le financement des gouvernements et des organisations s'est tari et la recherche en IA a considérablement ralenti.

Réseau neuronal moderne après l'hiver de l'IA

1) Changement 1 :
Il s'agit de l'ajout d'une entrée supplémentaire appelée biais. Contrairement aux autres entrées, le biais n'est lié à aucune donnée externe ou sortie des neurones précédents.

편향은 가중치 입력의 합에 직접 추가되는 상수 값입니다. 각 뉴런이 가지고 있는 별도의 매개변수 역할을 하며, 입력 값과 독립적으로 출력을 조정하는 데 도움이 됩니다.

2) 변경 2:
단순히 합을 임계값과 비교하여 -1 또는 1을 출력하는 대신 수학 함수를 통해 합(편향 포함)을 전달할 수 있습니다. 이 함수는 특정 범위 내 어디에나 있을 수 있는 새로운 부동 소수점 값을 출력합니다

활성화/수학적/전송 기능
이는 뉴런이 수신하는 입력을 기반으로 뉴런이 얼마나 "활성화"되는지를 결정합니다. 많은 활성화 함수는 비선형성을 도입하여 네트워크가 비선형 관계를 학습할 수 있도록 하며 이는 더 복잡한 문제를 해결하는 데 중요합니다.

시그모이드 함수: 0과 1 사이의 값을 출력합니다. 이진 분류 문제에 유용합니다.

Tanh(하이퍼볼릭 탄젠트) 함수: -1과 1 사이의 값을 출력합니다. 시그모이드와 비슷하지만 중심이 0입니다.

ReLU(Rectified Linear Unit): 입력이 양수이면 출력하고, 그렇지 않으면 0을 출력합니다.

누수 ReLU: ReLU와 유사하지만 입력이 음수일 때 0이 아닌 작은 기울기를 허용하여 "ReLU 소멸" 문제를 방지하는 데 도움이 됩니다.

Deep Learning Essentials

활성화 기능 유형:

1) 직선 기능

아. 신원 기능:
항등함수는 출력이 입력과 정확히 동일한 직선 함수입니다.
f(x)=x

ㄴ. 선형 함수:
선형함수란 직선으로 표현할 수 있는 모든 함수를 말합니다.
f(x) = mxb

2) 단계 함수

아. 계단식 기능:
계단형 함수는 특정 입력 값에서 급격한 변화가 있는 여러 선형 세그먼트로 구성됩니다. 완만한 ​​곡선보다는 이산적인 점프가 특징입니다.

0에서 0.2보다 약간 작은 입력에 대해 0을 출력하고, 0.2에서 0.4보다 약간 작은 입력에 대해 0.2 등을 출력하는 함수입니다.

Deep Learning Essentials

ㄴ. 단위 단계 함수:
임계값보다 작은 입력 값에 대해 0을 출력하고 임계값보다 크거나 같은 입력 값에 대해 1을 출력합니다.

Deep Learning Essentials

ㄷ. 헤비사이드 기능:

3) 조각별 선형 함수

아. ReLU(정류 선형 단위)

기능 정의:
x≥0의 경우:
f(x)=x
x<0의 경우:
f(x)=0

Deep Learning Essentials

ㄴ. 누출 ReLU

函數定義:
對於 x≥0:
f(x)=x
對於 x f(x)=αx(其中 α 是一個小常數,例如 0.01)

Deep Learning Essentials

c.參數化 ReLU (PReLU)
函數定義:
對於 x≥0:
f(x)=x
對於 x f(x)=αx(其中 α 是可學習參數)

4) 平滑的活化功能

a. Softplus功能
它是 ReLU 函數的平滑逼近。它透過提供連續且可微的替代方案來解決零處的急劇過渡。
Softplus(x) = ln(1 ex)

b. S 型函數
sigmoid 函數將輸入值壓縮到 0 到 1 之間的範圍
σ(x)= 1 / 1 e−x

c.雙曲正切 (tanh) 函數
tanh 函數與 sigmoid 類似,但將輸入值壓縮到 [−1,1] 範圍內。它以零為中心,這對於標準化資料很有用。
tanh(x)=ex e−x
/ex−e−x

Softmax函數

softmax 函數是神經網路分類任務中的關鍵組成部分,特別是當目標是預測多個類別的機率時。

Softmax 將輸出神經元的原始輸出分數(通常稱為 logits)轉換為各個類別的機率分佈。每個輸出值都會轉換為所有類別中總和為 1 的機率。

Deep Learning Essentials

Deep Learning Essentials

多層神經網路

1) 前饋神經網路
前饋網絡是一種人工神經網絡,其中神經元之間的連接不形成循環。換句話說,資料從輸入到輸出單向流動,不會循環返回。

結構:
前饋網路分為多個層:輸入層、一個或多個隱藏層和輸出層。

每個神經元接收來自前一層的輸入,對這些輸入應用權重,將它們相加,添加偏差項,並將結果傳遞給激活函數以產生輸出。

前饋網路的類型:

單層感知器:
最簡單形式的前饋網絡,只有輸入層和輸出層
前任。用於資料線性可分的二元分類問題。

多層感知器(MLP):
它在輸入層和輸出層之間包含一個或多個隱藏層。
前任。它用於分類、迴歸和函數逼近等任務。

徑向基底函數(RBF)網路
它使用徑向基底函數作為隱藏層中的激活函數。
前任。它用於函數逼近和模式識別。

應用:
影像辨識
語音辨識
醫學診斷

網路深度

它是資料從輸入傳遞到輸出所經過的層數。這些是輸入層和輸出層之間的層(不包括輸入層)。網路的深度由這些隱藏層的數量決定。

全連接層(FC/線性/密集):

這些是一組神經元,每個神經元接收來自前一層的每個神經元的輸入。如果拼了一層
僅由密集層組成,有時稱為全連接網路

Deep Learning Essentials

神經網路中的輸出形狀

零維數組
例如
如果神經網路層只有一個神經元,則其輸出為單一標量值。從數學上來說,這個輸出可以表示為一個零維數組。

一維數組(1D Array)
例如
當神經網路中的層具有多個神經元時,輸出可以描述為值列表或向量。例如,如果一個層包含 12 個神經元,則輸出是一個包含 12 個元素的一維數組。

(注意:無論我們的神經網路有多大或多複雜,如果它沒有激活函數並且它們是線性函數,例如加法、減法等;那麼它將始終相當於單個神經元。)

Deep Learning Essentials

Deep Learning Essentials

張量

一個通用術語,用於表示以任意維數排列成盒狀形狀的數字數組。它包含一維(向量)、二維(矩陣)、三維(體積)和更高維數組。

訓練神經網路的高級概述

訓練神經網路涉及調整網路的權重以最大限度地減少預測錯誤。這是透過迭代更新網路參數以降低成本或損失函數的過程來完成的

自動編碼器

它們是一種用於無監督學習的神經網路。關鍵思想是將輸入壓縮為低維代碼,然後根據該代碼重建原始輸入。

Struktur

Encoder:
Dieser Teil komprimiert die Eingabedaten in eine kompakte Darstellung.
Beispiel: Bei einem Bild könnte der Encoder seine Abmessungen beispielsweise von 128 x 128 Pixel auf einen kleineren Vektor reduzieren, etwa 32-dimensional

Decoder:
Dieser Teil rekonstruiert die ursprünglichen Eingabedaten aus der komprimierten Darstellung.
Beispiel: Der Decoder würde den 32-dimensionalen Vektor nehmen und versuchen, das 128 x 128 Pixel große Bild neu zu erstellen.

Trainingsprozess

Sie sind darauf trainiert, den Unterschied zwischen der Eingabe und der rekonstruierten Ausgabe zu minimieren. Dies erfolgt normalerweise mithilfe einer Verlustfunktion, wie z. B. Mean Squared Error (MSE) für kontinuierliche Daten oder binäre Kreuzentropie für binäre Daten. Ziel ist es, die Gewichte des Netzwerks so anzupassen, dass die Rekonstruktion so nah wie möglich an der ursprünglichen Eingabe liegt.

Varianten:

1) Entrauschen von Autoencodern
2) Variationale Autoencoder
3) Sparse Autoencoder

Komprimierungsarten:

1) Verlustfrei:
Es handelt sich um eine Art der Datenkomprimierung, bei der die Originaldaten aus den komprimierten Daten perfekt rekonstruiert werden können. Dies bedeutet, dass während des Komprimierungsprozesses keine Informationen verloren gehen und die dekomprimierten Daten mit dem Original identisch sind.
Algorithmen: Verwenden Sie Methoden wie Entropiekodierung und wörterbuchbasierte Techniken. Beispiele hierfür sind:Huffman-Codierung: Codiert häufig vorkommende Symbole mit kürzeren Codes und weniger häufige Symbole mit längeren Codes.Lempel-Ziv-Welch (LZW): Erstellt ein Wörterbuch von Sequenzen aus den Daten und verwendet kürzere Codes für häufige Sequenzen.Lauflängencodierung (RLE): Komprimiert Sequenzen wiederholter Zeichen durch Speichern des Zeichens und seiner Anzahl.Beispiel. PNG,FLAC,ZIP

2) Verlustbehaftet:
Es reduziert die Dateigröße durch das Entfernen einiger Daten, oft auf eine Weise, die für die menschlichen Sinne weniger wahrnehmbar ist, aber zu einem gewissen Verlust an Wiedergabetreue führt. Ziel ist es, eine deutliche Reduzierung der Dateigröße zu erreichen und gleichzeitig eine akzeptable Qualität für den beabsichtigten Verwendungszweck beizubehalten.
Ex. JPEG, H.264 oder HEVC, MP3Transform Coding: Konvertiert Daten in einen anderen Bereich (z. B. Frequenzbereich) und quantisiert sie. Beispiele hierfür sind: Diskrete Kosinustransformation (DCT): Wird bei der JPEG-Bildkomprimierung verwendet. Diskrete Wavelet-Transformation (DWT): Wird bei JPEG 2000 verwendet.

Anwendung:

1) Dimensionsreduktion
2) Rauschunterdrückung

Unterschied

Optimierer: Passt Gewichte an, um die Verlustfunktion zu minimieren.
Verlustfunktion: Misst, wie gut die Vorhersagen des Modells mit den tatsächlichen Werten übereinstimmen.
Aktivierungsfunktion: Fügt dem Modell Nichtlinearität hinzu, sodass es komplexe Muster lernen kann.

Bleiben Sie in Verbindung!
Wenn Ihnen dieser Beitrag gefallen hat, vergessen Sie nicht, mir in den sozialen Medien zu folgen, um weitere Updates und Einblicke zu erhalten:

Twitter: madhavganesan
Instagram: madhavganesan
LinkedIn: madhavganesan

위 내용은 딥 러닝 필수사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.