柚子快報(bào)邀請(qǐng)碼778899分享:神經(jīng)網(wǎng)絡(luò)超參數(shù)優(yōu)化
柚子快報(bào)邀請(qǐng)碼778899分享:神經(jīng)網(wǎng)絡(luò)超參數(shù)優(yōu)化
遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(16)——神經(jīng)網(wǎng)絡(luò)超參數(shù)優(yōu)化
0. 前言1. 深度學(xué)習(xí)基礎(chǔ)1.1 傳統(tǒng)機(jī)器學(xué)習(xí)1.2 深度學(xué)習(xí)
2. 神經(jīng)網(wǎng)絡(luò)超參數(shù)調(diào)整2.1 超參數(shù)調(diào)整策略2.2 超參數(shù)調(diào)整對(duì)神經(jīng)網(wǎng)絡(luò)影響
3. 超參數(shù)調(diào)整規(guī)則小結(jié)系列鏈接
0. 前言
我們已經(jīng)學(xué)習(xí)了多種形式的進(jìn)化計(jì)算,從遺傳算法到粒子群優(yōu)化,以及進(jìn)化策略和差分進(jìn)化等高級(jí)方法。在之后的學(xué)習(xí)中,我們將使用這些進(jìn)化計(jì)算 (Evolutionary Computation, EC) 方法來改進(jìn)深度學(xué)習(xí) ( Deep learning, DL),通常稱為進(jìn)化深度學(xué)習(xí) (Evolutionary Deep Learning, EDL)。 然而,在構(gòu)建用于解決 DL 問題的 EDL 解決方案之前,我們必須了解要解決的問題以及如何在沒有 EC 的情況下解決它們,畢竟 EC 只是用來改進(jìn) DL 的工具。因此,在應(yīng)用 EC 方法于超參數(shù)優(yōu)化 (Hyperparameter Optimization, HPO) 之前,我們首先介紹超參數(shù)優(yōu)化的重要性和一些手動(dòng)調(diào)整策略。
1. 深度學(xué)習(xí)基礎(chǔ)
1.1 傳統(tǒng)機(jī)器學(xué)習(xí)
傳統(tǒng)應(yīng)用程序中,系統(tǒng)是通過使用程序員編寫的復(fù)雜算法來實(shí)現(xiàn)智能化的。例如,假設(shè)我們希望識(shí)別照片中是否包含狗。在傳統(tǒng)的機(jī)器學(xué)習(xí) (Machine Learning, ML) 中,需要機(jī)器學(xué)習(xí)研究人員首先確定需要從圖像中提取的特征,然后提取這些特征并將它們作為輸入傳遞給復(fù)雜算法,算法解析給定特征以判斷圖像中是否包含狗:
然而,如果要為多種類別圖像分類手動(dòng)提取特征,其數(shù)量可能是指數(shù)級(jí)的,因此,傳統(tǒng)方法在受限環(huán)境中效果很好(例如,識(shí)別證件照片),而在不受限制的環(huán)境中效果不佳,因?yàn)槊繌垐D像之間都有較大差異。 我們可以將相同的思想擴(kuò)展到其他領(lǐng)域,例如文本或結(jié)構(gòu)化數(shù)據(jù)。過去,如果希望通過編程來解決現(xiàn)實(shí)世界的任務(wù),就必須了解有關(guān)輸入數(shù)據(jù)的所有內(nèi)容并編寫盡可能多的規(guī)則來涵蓋所有場景,并且不能保證所有新場景都會(huì)遵循已有規(guī)則。 傳統(tǒng)機(jī)器學(xué)習(xí)的主要特點(diǎn)是以有限的特征集和顯式規(guī)則為基礎(chǔ),從大量數(shù)據(jù)中學(xué)習(xí)模型,并利用學(xué)習(xí)到的模型對(duì)新數(shù)據(jù)進(jìn)行預(yù)測或分類;主要方法包括:決策樹、樸素貝葉斯分類、支持向量機(jī)、最近鄰分類、線性回歸、邏輯回歸等,這些方法通常需要經(jīng)過數(shù)據(jù)預(yù)處理、特征選擇、模型訓(xùn)練和模型評(píng)估等一系列步驟,以達(dá)到更好的分類或預(yù)測效果。 傳統(tǒng)機(jī)器學(xué)習(xí)的優(yōu)點(diǎn)在于它們的理論基礎(chǔ)比較成熟,訓(xùn)練和推理速度相對(duì)較快,并且可以適用于各種類型的數(shù)據(jù),此外,對(duì)于一些小規(guī)模的數(shù)據(jù)集,傳統(tǒng)機(jī)器學(xué)習(xí)方法的效果也相對(duì)不錯(cuò)。然而,傳統(tǒng)機(jī)器學(xué)習(xí)方法也有相當(dāng)明顯的局限性,例如,由于傳統(tǒng)機(jī)器學(xué)習(xí)方法依賴于手動(dòng)選擇的特征,因此難以捕捉數(shù)據(jù)中的復(fù)雜非線性關(guān)系;同時(shí),這些方法通常不具備自適應(yīng)學(xué)習(xí)能力,需要人工干預(yù)來調(diào)整模型。
1.2 深度學(xué)習(xí)
神經(jīng)網(wǎng)絡(luò)內(nèi)含了特征提取的過程,并將這些特征用于分類/回歸,幾乎不需要手動(dòng)特征工程,只需要標(biāo)記數(shù)據(jù)(例如,哪些圖片是狗,哪些圖片不是狗)和神經(jīng)網(wǎng)絡(luò)架構(gòu),不需要手動(dòng)提出規(guī)則來對(duì)圖像進(jìn)行分類,這減輕了傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù)強(qiáng)加給程序員的大部分負(fù)擔(dān)。 訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要提供大量樣本數(shù)據(jù)。例如,在前面的例子中,我們需要為模型提供大量的狗和非狗圖片,以便它學(xué)習(xí)特征。神經(jīng)網(wǎng)絡(luò)用于分類任務(wù)的流程如下,其訓(xùn)練與測試是端到端 (end-to-end) 的:
深度學(xué)習(xí)(Deep Learning, DL)是一類基于神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)算法,其主要特點(diǎn)是使用多層神經(jīng)元構(gòu)成的深度神經(jīng)網(wǎng)絡(luò),通過大規(guī)模數(shù)據(jù)訓(xùn)練模型并自動(dòng)地提取、分析、抽象出高級(jí)別的特征,經(jīng)典的深度神經(jīng)網(wǎng)絡(luò)架構(gòu)示例如下所示:
深度學(xué)習(xí)的優(yōu)勢在于它可以自動(dòng)地從大量非結(jié)構(gòu)化或半結(jié)構(gòu)化的數(shù)據(jù)中學(xué)習(xí),同時(shí)可以發(fā)現(xiàn)數(shù)據(jù)之間的隱含關(guān)系和規(guī)律,有效地處理語音、圖像、自然語言等復(fù)雜的數(shù)據(jù)。常用的神經(jīng)網(wǎng)絡(luò)模型包括多層感知機(jī) (Multilayer Perceptron, MLP)、卷積神經(jīng)網(wǎng)絡(luò) (Convolutional Neural Network, CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò) (Recurrent Neural Network, RNN) 等。 深度學(xué)習(xí)目前已經(jīng)廣泛應(yīng)用于圖像識(shí)別、語音識(shí)別、自然語言處理等領(lǐng)域,如人臉識(shí)別、自動(dòng)駕駛、智能客服、機(jī)器翻譯等。雖然深度學(xué)習(xí)在很多領(lǐng)域取得了出色的成果,但是深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和優(yōu)化也存在一些難點(diǎn)和挑戰(zhàn),如梯度消失和梯度爆炸等問題,需要使用一系列優(yōu)化算法和技巧來解決。
2. 神經(jīng)網(wǎng)絡(luò)超參數(shù)調(diào)整
深度學(xué)習(xí)模型面臨的困難之一是如何調(diào)整模型選項(xiàng)和超參數(shù)來改進(jìn)模型。DL 模型中通常都會(huì)涉及許多選項(xiàng)和超參數(shù),但通常缺乏詳細(xì)說明調(diào)整的效果,通常研究者僅僅展示最先進(jìn)模型的效果,經(jīng)常忽略模型達(dá)到最優(yōu)性能所需的大量調(diào)整工作。 通常,學(xué)習(xí)如何使用不同選項(xiàng)和調(diào)整超參數(shù)需要大量的建模經(jīng)驗(yàn)。如果沒有進(jìn)行調(diào)整,許多模型可能無法達(dá)到最優(yōu)性能。這不僅是一個(gè)經(jīng)驗(yàn)問題,而且也是 DL 領(lǐng)域本身的一個(gè)問題。我們首先學(xué)習(xí)使用 PyTorch 構(gòu)建一個(gè)基礎(chǔ)深度學(xué)習(xí)模型,用于逼近給定函數(shù)。
2.1 超參數(shù)調(diào)整策略
在本節(jié)中,我們將介紹一些模型選項(xiàng)和調(diào)整 DL 模型超參數(shù)的技巧和策略。其中一些技巧是根據(jù)大量模型訓(xùn)練經(jīng)驗(yàn)獲得的,但這些策略也是需要不斷發(fā)展的,隨著 DL 的不斷發(fā)展,模型選項(xiàng)也在不斷的擴(kuò)充。 接下來,我們介紹如何使用超參數(shù)和其他選項(xiàng)。添加超參數(shù):batch_size 和 data_step。超參數(shù) batch_size 用于確定每次前向傳遞中輸入到網(wǎng)絡(luò)的數(shù)據(jù)樣本數(shù)量;超參數(shù) data_step 用于控制生成的訓(xùn)練數(shù)據(jù)量:
import torch
import torch.nn as nn
from torch.autograd import Variable
import torch.nn.functional as F
import torch.optim as optim
from torch.utils.data import TensorDataset, DataLoader
#plotting
from matplotlib import pyplot as plt
from IPython.display import clear_output
#for performance timing
import time
results = []
hp_test = "lr = 3.5e-01" #@param {type:"string"}
learning_rate = 3.5e-01
epochs = 500
middle_layer = 16
batch_size = 25
data_step = .5
data_min = -5
data_max = 5
def function(x):
return (2*x + 3*x**2 + 4*x**3 + 5*x**4 + 6*x**5 + 10)
Xi = np.reshape(np.arange(data_min,data_max, data_step), (-1, 1))
yi = function(Xi)
inputs = Xi.shape[1]
yi = yi.reshape(-1, 1)
plt.plot(Xi, yi, 'o', color='black')
plt.plot(Xi,yi, color="red")
tensor_x = torch.Tensor(Xi) # transform to torch tensor
tensor_y = torch.Tensor(yi)
dataset = TensorDataset(tensor_x,tensor_y) # create your datset
dataloader = DataLoader(dataset, batch_size= batch_size, shuffle=True) # create your dataloader
class Net(nn.Module):
def __init__(self, inputs, middle):
super().__init__()
self.fc1 = nn.Linear(inputs,middle)
self.fc2 = nn.Linear(middle,middle)
self.out = nn.Linear(middle,1)
def forward(self, x):
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.out(x)
return x
model = Net(inputs, middle_layer)
print(model)
loss_fn = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=learning_rate)
epoch_report = 25
history = []
start = time.time()
for i in range(epochs):
for X, y in iter(dataloader):
# wrap the data in variables
x_batch = Variable(torch.Tensor(X))
y_batch = Variable(torch.Tensor(y))
# forward pass
y_pred = model(x_batch)
# compute and print loss
loss = loss_fn(y_pred, y_batch)
history.append(loss.data/batch_size)
# reset gradients
optimizer.zero_grad()
# backwards pass
loss.backward()
# step the optimizer - update the weights
optimizer.step()
if (i+1) % epoch_report == 0:
clear_output()
y_ = model(tensor_x)
plt.plot(Xi, yi, 'o', color='black')
plt.plot(Xi,y_.detach().numpy(), 'r')
plt.show()
print(f"[{i}] Loss = {loss.data}")
time.sleep(1)
plt.plot(history)
end = time.time() - start
X_a = torch.rand(100,1).clone() * 10 - 5
y_a = model(X_a)
y_a = y_a.detach().numpy()
results.append([hp_test,end, X_a, y_a])
fig = plt.figure()
ax1 = fig.add_subplot(111)
for test,t,x,y in results:
ax1.scatter(x, y, s=10, marker="s", label=f"{test} in {t:0.1f}s")
plt.legend(loc='upper left')
plt.plot(Xi, yi, 'o', color='black')
plt.show()
2.2 超參數(shù)調(diào)整對(duì)神經(jīng)網(wǎng)絡(luò)影響
將 middle_layer 的值由 5 修改為 25,運(yùn)行代碼后,觀察兩次測試的預(yù)測輸出,可以看到 middle_layer 為 25 時(shí)的模型性能更好。同時(shí)可以看到,模型的訓(xùn)練模型的時(shí)間略有不同,這是由于更大的模型需要更長的訓(xùn)練時(shí)間。
可以修改超參數(shù) batch_size 和 data_step,觀察不同超參數(shù)對(duì)模型性能的影響。但需要注意的是,這些值是相互關(guān)聯(lián)的,如果通過將 data_step 減小到 0.1 來增加數(shù)據(jù)量,則同樣需要增加 batch_size。 下圖展示了在增加數(shù)據(jù)量時(shí)改變和不改變批大小的結(jié)果,可以看到,訓(xùn)練 500 個(gè) epoch 所需的訓(xùn)練時(shí)間差異明顯。
繼續(xù)修改其它超參數(shù),將 learning_rate 從 3.5e-06 修改為 3.5e-01,在調(diào)整超參數(shù)時(shí),總體目標(biāo)是創(chuàng)建一個(gè)能夠快速訓(xùn)練并產(chǎn)生最佳結(jié)果的最小(參數(shù)量)模型。
3. 超參數(shù)調(diào)整規(guī)則
即使本節(jié)中僅僅只有五個(gè)超參數(shù),超參數(shù)的調(diào)整仍然可能遇到困難,因此一個(gè)簡單的方法是按照以下步驟進(jìn)行操作:
設(shè)置網(wǎng)絡(luò)大小 - 在本節(jié)中,通過修改 middle_layer 的值實(shí)現(xiàn),通常,首先調(diào)整網(wǎng)絡(luò)大小或?qū)訑?shù)。但需要注意的是,增加線性層數(shù)通常并不如增加層內(nèi)網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量有效 超參數(shù)訓(xùn)練規(guī)則#1:網(wǎng)絡(luò)大小——增加網(wǎng)絡(luò)層數(shù)能夠從數(shù)據(jù)中提取更多特征,擴(kuò)展或減小模型寬度(節(jié)點(diǎn)數(shù))能夠調(diào)整模型的擬合程度控制數(shù)據(jù)變化性 – 通常認(rèn)為深度學(xué)習(xí)模型訓(xùn)練需要大量的數(shù)據(jù),雖然深度學(xué)習(xí)模型可能會(huì)從更多的數(shù)據(jù)中獲益,但這更多依賴于數(shù)據(jù)集中的變化性,在本節(jié)中,我們使用 data_step 值來控制數(shù)據(jù)的變化性,但通常情況下我們無法控制數(shù)據(jù)的變化性。因此,如果數(shù)據(jù)集包含較大的變化性,則很可能相應(yīng)的需要增加模型的層數(shù)和寬度。與 MNIST 數(shù)據(jù)集中的手寫數(shù)字圖片相比,F(xiàn)ashion-MNIST 數(shù)據(jù)集中服飾圖片的變化性要小得多 超參數(shù)訓(xùn)練規(guī)則#2:數(shù)據(jù)變化性——更具變化性的數(shù)據(jù)集需要更大的模型,以提取更多特征并學(xué)習(xí)更復(fù)雜的解決方案選擇批大小 - 調(diào)整模型的批大小可以顯著提高訓(xùn)練效率,然而,批大小并不能解決訓(xùn)練性能問題,增加批大小可能對(duì)降低最終模型性能,批大小需要基于輸入數(shù)據(jù)的變化性進(jìn)行調(diào)優(yōu),輸入數(shù)據(jù)變化性較大時(shí),較小的批大小通常更有益(范圍通常在 16-64 之間),而變化性較小的數(shù)據(jù)可能需要較大的批大小(范圍通常在 64-256 之間,甚至更高) 超參數(shù)訓(xùn)練規(guī)則#3:批大小——如果輸入數(shù)據(jù)變化性較大,則減小批大小,對(duì)于變化較小且更統(tǒng)一的數(shù)據(jù)集,增加批大小調(diào)整學(xué)習(xí)率 - 學(xué)習(xí)率控制模型學(xué)習(xí)的速度,學(xué)習(xí)率與模型的復(fù)雜性相關(guān),由輸入數(shù)據(jù)的變化性驅(qū)動(dòng),數(shù)據(jù)變化性較高時(shí),需要較小的學(xué)習(xí)率,而更均勻的數(shù)據(jù)可以采用較高的學(xué)習(xí)率,調(diào)整模型大小可能也可能需要調(diào)整學(xué)習(xí)率,因?yàn)槟P蛷?fù)雜性發(fā)生了變化 超參數(shù)訓(xùn)練規(guī)則#4:學(xué)習(xí)率——調(diào)整學(xué)習(xí)率以適應(yīng)輸入數(shù)據(jù)的變化性,如果需要增加模型的大小,通常也需要減小學(xué)習(xí)率調(diào)整訓(xùn)練迭代次數(shù) - 處理較小規(guī)模的數(shù)據(jù)集時(shí),模型通常會(huì)快速收斂到某個(gè)基準(zhǔn)解,因此,可以簡單地減少模型的 epochs (訓(xùn)練迭代次數(shù)),但是,如果模型較復(fù)雜且訓(xùn)練時(shí)間較長,則確定總的訓(xùn)練迭代次數(shù)可能更為困難。但多數(shù)深度學(xué)習(xí)框架提供了提前停止機(jī)制,它通過監(jiān)視指定損失值,并在損失值不再變化時(shí)自動(dòng)停止訓(xùn)練,因此,通常可以選擇可能需要的最大訓(xùn)練迭代次數(shù),另一種策略是定期保存模型的權(quán)重,然后在需要時(shí),可以重新加載保存的模型權(quán)重并繼續(xù)訓(xùn)練 超參數(shù)訓(xùn)練規(guī)則#5:訓(xùn)練迭代次數(shù)——使用可能需要的最大訓(xùn)練迭代次數(shù),使用提前停止等技術(shù)來減少訓(xùn)練迭代次數(shù)
使用以上五條策略能夠更好的調(diào)整超參數(shù),但這些技術(shù)只是一般規(guī)則,可能會(huì)有網(wǎng)絡(luò)配置、數(shù)據(jù)集和其他因素改變這些一般規(guī)則。接下來,我們將進(jìn)一步討論構(gòu)建穩(wěn)定模型時(shí)可能需要決定的各種模型選項(xiàng)。 除了超參數(shù)外,模型改進(jìn)的最大動(dòng)力源于模型所選用的各種選項(xiàng)。DL 模型提供了多種選項(xiàng),具體取決于實(shí)際問題和網(wǎng)絡(luò)架構(gòu),但通常模型的細(xì)微改變就足以從根本上改變模型的擬合方式。 模型選項(xiàng)包括激活函數(shù)、優(yōu)化器函數(shù)、以及網(wǎng)絡(luò)層的類型和數(shù)量的選用。網(wǎng)絡(luò)層的深度通常由模型需要提取和學(xué)習(xí)的特征數(shù)量所決定,網(wǎng)絡(luò)層的類型(全連接、卷積或循環(huán)網(wǎng)絡(luò)等)通常由需要學(xué)習(xí)的特征類型決定。例如,使用卷積層來學(xué)習(xí)特征的聚類,使用循環(huán)神經(jīng)網(wǎng)絡(luò)來確定特征的出現(xiàn)順序。 因此,大多數(shù) DL 模型的網(wǎng)絡(luò)大小和層類型都受數(shù)據(jù)變化性和需要學(xué)習(xí)的特征類型的驅(qū)動(dòng)。對(duì)于圖像分類問題,卷積層用于提取視覺特征,例如眼睛或嘴巴,循環(huán)神經(jīng)網(wǎng)絡(luò)層用于處理語言或時(shí)間序列數(shù)據(jù)。 大多數(shù)情況下,模型選項(xiàng)需要關(guān)注的包括激活、優(yōu)化器和損失函數(shù)。激活函數(shù)通常由問題類型和數(shù)據(jù)形式?jīng)Q定,避免在選項(xiàng)調(diào)整的最后階段修改激活函數(shù)。通常,優(yōu)化器和損失函數(shù)的選擇決定了模型訓(xùn)練的好壞。下圖顯示了使用四種不同優(yōu)化器來訓(xùn)練上一節(jié)模型得到的結(jié)果,其中超參數(shù) middle_layer 值為 25,可以看出,與 Adam 和 RMSprop 相比,隨機(jī)梯度下降 (Stochastic Gradient Descent, SGD) 和 Adagrad 表現(xiàn)較差。
損失函數(shù)同樣會(huì)對(duì)模型訓(xùn)練產(chǎn)生重大影響。在回歸問題中,我們可以使用兩個(gè)不同的損失函數(shù):均方誤差 (mean-squared error, MSE) 和平均絕對(duì)誤差 (mean absolute error, MAE),下圖顯示了使用的兩個(gè)不同損失函數(shù)的模型性能對(duì)比結(jié)果。可以看到,MAE 損失函數(shù)的效果更好一些。
超參數(shù)訓(xùn)練規(guī)則#6:模型修改作為一般規(guī)則,更改模型架構(gòu)或關(guān)鍵模型選項(xiàng),都需要重新調(diào)整所有超參數(shù)
事實(shí)上,我們可能需要花費(fèi)數(shù)天甚至數(shù)月的時(shí)間來調(diào)整模型的超參數(shù),直到得到更好的損失和優(yōu)化函數(shù)。超參數(shù)調(diào)整和模型選項(xiàng)選擇并非易事,選用不合適的選項(xiàng)甚至得到更差的模型。在構(gòu)建有效的 DL 模型時(shí),通常會(huì)定義模型并選擇最適合實(shí)際問題的選項(xiàng)。然后,通過調(diào)整各種超參數(shù)和選項(xiàng)優(yōu)化模型。
小結(jié)
超參數(shù)優(yōu)化的目標(biāo)是通過調(diào)整模型的超參數(shù),如學(xué)習(xí)率、正則化系數(shù)、網(wǎng)絡(luò)架構(gòu)、批大小等,來最大化模型的性能和泛化能力。選擇合適的方法取決于問題的特性、計(jì)算資源和優(yōu)化目標(biāo)的復(fù)雜性。本節(jié)中,我們介紹了一些常見模型選項(xiàng)和調(diào)整DL模型超參數(shù)的技巧和策略。
系列鏈接
遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(1)——進(jìn)化深度學(xué)習(xí) 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(2)——生命模擬及其應(yīng)用 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(3)——生命模擬與進(jìn)化論 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(4)——遺傳算法(Genetic Algorithm)詳解與實(shí)現(xiàn) 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(5)——遺傳算法中常用遺傳算子 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(6)——遺傳算法框架DEAP 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(7)——DEAP框架初體驗(yàn) 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(8)——使用遺傳算法解決N皇后問題 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(9)——使用遺傳算法解決旅行商問題 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(10)——使用遺傳算法重建圖像 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(11)——遺傳編程詳解與實(shí)現(xiàn) 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(12)——粒子群優(yōu)化詳解與實(shí)現(xiàn) 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(13)——協(xié)同進(jìn)化詳解與實(shí)現(xiàn) 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(14)——進(jìn)化策略詳解與實(shí)現(xiàn) 遺傳算法與深度學(xué)習(xí)實(shí)戰(zhàn)(15)——差分進(jìn)化詳解與實(shí)現(xiàn)
柚子快報(bào)邀請(qǐng)碼778899分享:神經(jīng)網(wǎng)絡(luò)超參數(shù)優(yōu)化
好文閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。