Home >Backend Development >Python Tutorial >Deep Learning Essentials
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.
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.
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
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.
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.
The bias is a constant value that is directly added to the sum of the weighted inputs. It acts as a separate parameter that each neuron has, and it helps adjust the output independently of the input values.
2) Change 2:
Instead of just comparing the sum to a threshold and outputting -1 or 1, we can pass the sum (including the bias) through a mathematical function. This function will output a new floating-point value that can be anywhere within a certain range
Activation/Mathematical/Transfer Function
It determines how "active" the neuron will be based on the inputs it receives. Many activation functions introduce non-linearity, allowing the network to learn non-linear relationships, which is crucial for solving more complex problems.
Ex.
Sigmoid Function: Outputs values between 0 and 1. Useful for binary classification problems.
Tanh (Hyperbolic Tangent) Function: Outputs values between -1 and 1. It’s similar to the sigmoid but centered at 0.
ReLU (Rectified Linear Unit): Outputs the input if it's positive, otherwise 0.
Leaky ReLU: Similar to ReLU, but allows a small, non-zero gradient when the input is negative, helping to avoid the "dying ReLU" problem.
Types of activation functions:
1) Straight line functions
a. Identity Function:
The identity function is a straight-line function where the output is exactly equal to the input.
f(x)=x
b. Linear Functions:
A linear function is any function that can be represented as a straight line.
f(x) = mx b
2) Step Functions
a. Stair-Step Function:
A stair-step function consists of multiple linear segments with abrupt changes at certain input values. It’s characterized by discrete jumps rather than a smooth curve.
Ex.
A function that outputs 0 for inputs between 0 and just less than 0.2, 0.2 for inputs from 0.2 to just less than 0.4, and so on.
b. Unit Step Function:
Outputs 0 for input values less than a threshold and 1 for input values equal to or greater than the threshold.
c. Heaviside Function:
3) Piecewise Linear Functions
a. ReLU (Rectified Linear Unit)
Function definition:
For x≥0:
f(x)=x
For x<0:
f(x)=0
b. Leaky ReLU
函數定義:
對於 x≥0:
f(x)=x
對於 x
f(x)=αx(其中 α 是一個小常數,例如 0.01)
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 將輸出神經元的原始輸出分數(通常稱為 logits)轉換為各個類別的機率分佈。每個輸出值都會轉換為所有類別中總和為 1 的機率。
1) 前饋神經網路
前饋網絡是一種人工神經網絡,其中神經元之間的連接不形成循環。換句話說,資料從輸入到輸出單向流動,不會循環返回。
結構:
前饋網路分為多個層:輸入層、一個或多個隱藏層和輸出層。
每個神經元接收來自前一層的輸入,對這些輸入應用權重,將它們相加,添加偏差項,並將結果傳遞給激活函數以產生輸出。
前饋網路的類型:
單層感知器:
最簡單形式的前饋網絡,只有輸入層和輸出層
前任。用於資料線性可分的二元分類問題。
多層感知器(MLP):
它在輸入層和輸出層之間包含一個或多個隱藏層。
前任。它用於分類、迴歸和函數逼近等任務。
徑向基底函數(RBF)網路
它使用徑向基底函數作為隱藏層中的激活函數。
前任。它用於函數逼近和模式識別。
應用:
影像辨識
語音辨識
醫學診斷
它是資料從輸入傳遞到輸出所經過的層數。這些是輸入層和輸出層之間的層(不包括輸入層)。網路的深度由這些隱藏層的數量決定。
這些是一組神經元,每個神經元接收來自前一層的每個神經元的輸入。如果拼了一層
僅由密集層組成,有時稱為全連接網路。
零維數組
例如
如果神經網路層只有一個神經元,則其輸出為單一標量值。從數學上來說,這個輸出可以表示為一個零維數組。
一維數組(1D Array)
例如
當神經網路中的層具有多個神經元時,輸出可以描述為值列表或向量。例如,如果一個層包含 12 個神經元,則輸出是一個包含 12 個元素的一維數組。
(注意:無論我們的神經網路有多大或多複雜,如果它沒有激活函數並且它們是線性函數,例如加法、減法等;那麼它將始終相當於單個神經元。)
一個通用術語,用於表示以任意維數排列成盒狀形狀的數字數組。它包含一維(向量)、二維(矩陣)、三維(體積)和更高維數組。
訓練神經網路涉及調整網路的權重以最大限度地減少預測錯誤。這是透過迭代更新網路參數以降低成本或損失函數的過程來完成的
它們是一種用於無監督學習的神經網路。關鍵思想是將輸入壓縮為低維代碼,然後根據該代碼重建原始輸入。
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.
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.
1) Entrauschen von Autoencodern
2) Variationale Autoencoder
3) Sparse Autoencoder
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.
1) Dimensionsreduktion
2) Rauschunterdrückung
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
The above is the detailed content of Deep Learning Essentials. For more information, please follow other related articles on the PHP Chinese website!