事前学習済みネットワークの特定層の重みまで一括して凍結する方法はありますか?
조회 수: 4 (최근 30일)
이전 댓글 표시
MathWorks Support Team
2025년 8월 20일
답변: MathWorks Support Team
2025년 8월 20일
imagePretrainedNetwork でロードしたdlnetworkオブジェクトの 特定の層や複数層に対して重みやバイアスを一括して凍結するにはどうすればよいですか?
たとえば、AlexNetのfc6層までのバイアスの値を凍結する方法を教えてください。
채택된 답변
MathWorks Support Team
2025년 8월 20일
imagePretrainedNetwork で取得したdlnetworkオブジェクトの学習パラメータに対する学習率の設定は、setLearnRateFactor()メソッドを利用します。このメソッドは個別の層とパラメータごとに指定する必要があるため、複数層に一括で設定したい場合はforループなどを使って繰り返し処理を行います。
例えば、AlexNetのfc6層までのすべてのパラメータの学習率を0に設定するには、以下のようなコードを使用します。
% AlexNet モデルのロード
[net,classNames] = imagePretrainedNetwork('alexnet');
% Learnable Parametes 一覧取得
tbl = net.Learnables;
% fc6層まで LearnRate を 0 に設定
for n = 1:12
net = setLearnRateFactor(net, tbl.Layer(n), tbl.Parameter(n), 0)
end
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 イメージを使用した深層学習에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!