728x90 반응형 SMALL SGD4 [PyTorch] optimizer 시각화 utils.py import numpy as npimport torchimport torch.nn as nnimport matplotlib.pyplot as pltfrom collections import defaultdict# XOR & Perceptrondef draw_function(func, return_fig=False): xx = torch.linspace(-5, 5, steps=1000) fig = plt.figure() plt.plot(xx.numpy(), func(xx).numpy()) plt.xlabel("x", fontdict={"fontsize":16}) plt.ylabel("y", fontdict={"fontsize":16}, rotation=0) .. 2024. 9. 4. [Image Classification] ResNet (1) ResNet Residual Network (ResNet) 은 마이크로소프트의 Kaiming He에 의해 개발되었고, 2015년 ISVRC에서 우승하였다. MNIST와 같은 데이터셋에서는 얕은 층의 CNN으로도 높은 분류 성능을 얻을 수 있다. 하지만, CIFAR나 ImageNet과 같이 좀 더 복잡하고 도전적인 데이터셋에서 얕은 네트워크로는 한계가 있어 연구자들은 점점 더 깊은 층을 가진 CNN을 만드려는 노력을 했다. 딥러닝에서 neural networks가 깊어질수록 성능은 더 좋지만 train이 어렵다는 것은 알려진 사실이다. 그래서 잔차를 이용한 잔차 학습 (residual learning framework)를 이용해서 깊은 신경망에서도 training이 쉽게 이뤄질 수 있다는 것을 보 이고 방.. 2022. 9. 12. [TensorFlow] Keras Tuner Keras Tuner Keras Tuner는 TensorFlow 프로그램에 대한 최적의 하이퍼파라미터 세트를 선택하는 데 도움을 주는 라이브러리이다. 머신러닝 (ML) 애플리케이션에 대한 올바른 하이퍼파라미터 세트를 선택하는 과정을 하이퍼파라미터 조정 또는 하이퍼튜닝이라고 한다. 하이퍼파라미터는 훈련 프로세스 및 ML 모델의 토폴로지를 제어하는 변수이다. 이러한 변수는 훈련 과정에서 일정하게 유지되며 ML 프로그램의 성능에 직접적으로 영향을 미친다. 하이퍼파라미터에는 두 가지 유형이 있다. 숨겨진 레이어의 수 및 너비와 같이 모델 선택에 영향을 미치는 모델 하이퍼파라미터 SGD (Stochastic Gradient Descent)의 학습률 및 KNN (k Nearest Neighbors) 분류자의 최근접.. 2022. 6. 15. [Deep Learning] 최적화 (Optimizer) 최적화 (Optimizer) 데이터의 크기가 클수록 훈련 속도는 느려진다. 따라서 neural network를 빠르게 훈련하기 위해 효율성을 높이기 위한 최적화 알고리즘을 잘 선택해야 한다. Gradient Descent 경사하강법에서는 θ 에 대해 gradient의 반대 방향으로 일정 크기만큼 이동해내는 것을 반복하여 loss function J(θ) 의 값을 최소화하는 파라미터 w, b를 찾는다. gradient descent은 무작정 기울어진 방향으로 이동하는 방식이기 때문에 탐색 경로가 비효율적이다. 또한 SGD는 방향에 따라서 기울기 값이 달라지는 경우에 적합하지 않은데 최소값의 방향으로만 움직이기 때문에 본래의 최저점으로 기울기의 방향이 좀처럼 향하지 않게 되고 다른 방향을 가리키게 되어 비효.. 2022. 1. 3. 이전 1 다음 728x90 반응형 LIST