# adam

15개의 포스트
post-thumbnail

Week 2 | Optimization Algorithms

Mini-batch Gradient Descent You've learned previously that vectorization allows you to efficiently compute on all $m$ examples, that allows you to process your whole training set without an explicit For loop. So that's why we would take our training examples and stack them into these huge matrix $X, Y$ Vectorization makes you to process all $m$ examples quickly if $m$

2023년 7월 28일
·
0개의 댓글
·
post-thumbnail

[혼공머신] 7-2. 심층 신경망

Intro. 지난 시간에는 인공신경망으로 럭키백의 성능을 높여봤음! But, 층이 하나뿐이었음. 홍 선배🗣️ "딥"러닝인 만큼, 층을 더 추가해서 성능을 더 높여보자 ~! 1. 데이터 준비 저번이랑 똑같이 .load_data() 함수로 데이터 준비함. 똑같이 전처리 해줌. 2. 심층 신경망 은닉층 (Hidden layer) 은닉층 : 입력층과 출력층 사이에 있는 모든 층 (몇 개든 상관 없음!) ex) 이번에는 저번 시간보다 밀집층(=은닉층)을 하나 더 추가해봄. 모델의

2023년 2월 14일
·
0개의 댓글
·
post-thumbnail

[혁펜하임의 AI DEEP DIVE] 체험단 후기

안녕하세요 양콩공입니다 !!!!!!!! 인사를 드린 포스팅은 처음인 것 같아요😊 저는 작년에 빅데이터 개발자 과정 국비를 수강하면서 마지막에 추천 시스템 딥러닝 공모전에 참여하게 되었습니다! 🤞 그때 딥러닝 관련 기초 개념들에 대해 국비 교육으로 이해하기에는 한계가 있어서 '혁펜하임'님의 유튜브 강의가 큰 힘이 되었습니다! 그런데 이번에 패스트 캠퍼스에서 딥러닝을 주제로 강의를 찍으셔서 체험단에 참여하게 되어 강의 후기에 대해 자세하게 풀어보고자 합니다 ㅎㅎ 아직 velog 포스팅에는 어색하지만 최선을 다하겠습니다 .. ! > 본 게시글은 패스트 캠퍼스 [혁펜하임의 AI DEEP DIVE] 체험단 활동을 위해 작성되었습니다. ![](https://velog.velcdn.com/imag

2023년 2월 7일
·
0개의 댓글
·

Deep Learning(기초) - 3. Optimization

Optimization 1. BackGround 1) Generalization > 우리가 인공지능 모델을 실생활에서 사용할 때 접하는 데이터는 학습시킬 때 사용했던 데이터는 대부분이 모델을 훈련시킬 때 사용했던 데이터와 다른 데이터가 입력된다. > Generalization, 즉 일반화란 이러한 상황에서 우리 모델의 성능이 학습시킬 때와 비슷하게 나오도록 해주는 것이다. > 따라서 Generalization성능을 높이는 것은 우리가 실제 이 모델을 사용하는데 있어 가장 중요하다고 할 수 있다. > 2) Overfitting <img src="https://velog.velcdn.com/images/abrahamkim98/post/1d47cfce

2022년 10월 4일
·
0개의 댓글
·
post-thumbnail

CS231 7강. Training Neural Networks II (1)

지난 시간 복습 지난 6강에서는 TNN(Training Neural Network 첫번째 시간으로써 다양한 활성화 함수들을 배웠습니다. Sigmoid는 10여년 전에 신경망을 훈련할 때 꽤 인기가 있었던 활성화 함수로써 각광을 받았지만 입력값이 -∞ 또는 ∞로 갈수록 기울기 소실 문제가 발생한다는 점, zero-centered가 되지 않는다는 점, 지수함수적인 복잡한 계산 등의 문제로 인해 현재는 사용하지 않는 활성화 함수가 되었다는 점 다시 한번 살펴보게 되었습니다. tanh 함수도 마찬가지로 양 끝의 기울기 소실이 발생하죠. 이 두 가지 활성화 함수 대신에 이제 ReLU 함수를 기본적인 활성화 함수로써 선택을 하게 됩니다. 데이터 정규화에 대한 내용도 공부했었습니다. 데이터를 정규화해서 평균

2022년 8월 22일
·
0개의 댓글
·
post-thumbnail

Optimizers: SGD with Momentum, NAG, Adagrad, RMSProp, AdaDelta, and ADAM

1. Introduction 1.1 Gradient Descent (GD) 최적의 예측 모델을 만들기 위해서는 실제값과 예측값의 error를 나타내는 cost function $J(\theta)$가 최소가 되어야 한다. Cost function을 최소화시키는 최적의 파라미터를 찾기 위해 여러 Optimizer가 고안되고 있으며, 가장 기본적인 방법은 Gradient Descent(GD)이다. GD는 cost function의 기울기(gradient) 반대 방향으로 정해진 step size(learning rate) $\alpha$만큼 이동하여 cost function이 최소가 되도록 파라미터를 조정해 나간다. 다시 말해, gradient는 어느 방향으로 학습할지를 결정하고 learning rate는 한 번에 얼마나 학습할지를 결정한다. 여기서 learning rate $\alpha$는 hyper파라미터로 $0$~$1$ 사이의 값을 가지며 보통 $0.01$~$0.001$

2022년 7월 15일
·
0개의 댓글
·
post-thumbnail

Optimization Algorithms

Exponentially Weighted Averages temperature의 값을 나타냈을 때 값들에 noise가 섞여있다. noise를 없애는 가장 쉬운 방법은 average를 사용하는 것이다. 식에 곱해진 0.9는 smoothness의 강도를 결정한다. 이전 단계에서 smooth된 data에 smoothness를 적용하는 것을 반복한다. β는 smoothness의 강도를 결정하는 hyperparameter이다. β = 0.9이면 1/(1-β) = 10day의 average와 결과가 비슷해진다. 현재 sam

2022년 4월 18일
·
0개의 댓글
·
post-thumbnail

[Error] cannot import name 'Adam' from 'keras.optimizers'

cannot import name 'Adam' from 'keras.optimizers' 해결 변경전) 수정)

2022년 3월 29일
·
0개의 댓글
·

Titanic - Machine Learning from Disaster (Pytorch)

Kaggle Titanic 예제 kaggle을 처음 시작하며 대표예제인 Titanic 문제를 풀어보았습니다. 아직 입문이기에 EDA를 적용하거나 복잡한 모델을 구현하진 못하였고, 이론으로만 막연하게 이해하고있던 모델을 코드로 끝까지 구현하는데에 집중해서 데이터 전처리에 엄청난 편의성이 적용되었습니다. Pytorch를 사용하여 2개의 FC hidden layer를 갖는 모델을 구현하였습니다. 각 hidden layer는 512개의 뉴런을 갖고, 다른 특징으로는 다음이 있습니다. activation : ReLU optimizer : Adam learning rate : 0.01 loss function : CrossEntropyLoss epochs : 500 Overview 주어진 문제는 타이타닉 승객들의 data를 학습하여, test data에 있는 승객들의 생존 여부를 예측하는 모델을 만드는 것이 목표입니다. 주어진 train data는 다

2022년 3월 13일
·
0개의 댓글
·
post-thumbnail

[DL] 인공신경망 학습

지난 포스팅에서는 인공신경망의 개념과 구조에 대해 정리했습니다. 다른 머신러닝 모델과 마찬가지로 딥러닝 모델도 학습 과정이 필요한 지도 모델입니다. 입력값이 모델을 거쳐 출력되는 결과와 실제 target 간의 차이를 줄이는 학습 과정이 딥러닝 모델에도 필수입니다. 이번 포스팅에서는 인공신경망이 어떻게 신호를 학습하는지 정리해보도록 하겠습니다. 신경망 학습 과정 기본적인 신경망의 학습 과정은 다음과 같습니다. 먼저 전체적인 과정을 본 다음 하나씩 파고들어가 보겠습니다. 신경망에 데이터가 입력되면 각 층에서 가중치 및 활성화 함수 연산을 반복 수행합니다. 1의 과정을 모든 층에서 반복한 후에 출력층에서 계산된 값을 출력합니다. 손실 함수를 사용하여 예측값과 실제값의 차이를 계산합니다. 역적파 과정에서 경사하강법을 통해 각 가중치를 갱신합니다. 학습 중지 기준을 만족할 때까지 1~4의 과정을 반복합니다. ![](https://images.velog.i

2022년 3월 6일
·
0개의 댓글
·

Ai_D68

Optimizer 기울기값을 얼만큼 경사하강법에 적용할 지 결정하는 hyperparameter 입니다. 학습률(learning rate)를 조절하여 기울기 값을 조정할 수 있습니다. 그 결과, 모델 성능을 효율적으로 개선할 수 있습니다.(global minima를 효율적으로 찾을 수 있습니다.) SGD(Stochastic Gradient Descent) 빈번하게 학습률을 갱신합니다. 1 cycle에 모든 데이터에 대해서 값을 갱신합니다. 모멘텀을 조정할 수 있습니다. 장점 : 비교적 빠른 시간안에 minima를 찾을 수 있습니다. 단점: 높은 분산. global minima를 찾았는 데도 불구하고 더 실행될 수 있습니다. Momentum SGD 에서 발생하는 high variance를 줄이기 위해 만들어 졌습니다. 연관성이 있는 방향으로 갈 수 있도록 해주고 fluctuation을 줄여줍니다. Adagrad 다른 optimizers 는 학

2022년 2월 24일
·
0개의 댓글
·
post-thumbnail

[Aiffel] 아이펠 35일차 개념 정리 및 회고

1. 머신러닝 개념 정리 참고 > 머신러닝의 목표 모델이 표현하는 확률 분포와 데이터의 실제 분포를 최대한 유사하게 만드는 최적의 파라미터 값을 찾는 것 1) 모델 파라미터 $y=f(x)=ax+b\ \ \ \ \ \ a,b∈R$라고 할 때 (a,b)가 위치하는 $R$ 공간을 parameter space라고 함 2) prior likelihood posterior 베이시안 머신러닝 모델 파라미터를 고정된 값이 아닌 확률 변수로 보기 때문에, 불확실성을 가지고 있다고 전제한다. 용어 설명 |전제| |-| |어떤 데이터 집합 $X$가 주어졌을 때 데이터가 따르는 확률 $p(X)$가 있을 것. 이때 $p(X)$를 가장 잘 나타내는 일차함수 모델 $y=ax+b=θ^{⊤}x$를 찾는 것이 목표임.| |$p(θ)$|prior probability, 사전확률, 데이터를 관찰하기 전에 paramet

2022년 2월 16일
·
1개의 댓글
·
post-thumbnail

Optimization Methods

이전에는 Gradient Descent를 사용해서 parameter를 업데이트하고 Cost Function을 최소화했다. 이번에는 다른 Optimization Method를 통해 속도를 높이고 비용을 최소화하는 알고리즘을 배워보자. 언제나 그랬듯, package먼저 다운받아준다. Packages Gradient Descent 가장 간단한 최적화 방법이다. 아래의 파라미터 업데이트 공식을 이용해서 파라미터를 업데이트 해 주는 함수를 만들어보자. 이것의 변형으로는 Stochastic Gr

2021년 8월 27일
·
0개의 댓글
·

Optimizer 3

Prologue Gradient descent가 발전해온 방향은 크게 두 가지가 있다. 첫 번째는 물리법칙을 따르는 방법. 두 번째는 학습을 거듭할수록 일정비율로 학습률을 줄여서 global minima를 지나가지 않게 하는 방법이다. 이번에 알아볼 것은 두 가지 방법을 섞어서 쓰는 알고리즘이다. 우리가 헤멜 Convex 지형이다. 2차원 2차함수에다 z축을 하나 추가해서 입체적으로 만들고 등고선처럼 높이가 같은 지점끼리 선으로 이었다. 가장 작은 원이 최소값을 갖는 지점이므로 optimizer가 저 원을 콕 찍으면 된다. Adam Momentum과 RMSProp을 합쳐놓은 알고리즘. 두 알고리즘이 잘 된다면 합쳐놓으면 더 잘 되지 않을까? 하는 인

2021년 7월 7일
·
0개의 댓글
·
post-thumbnail

딥러닝 - 하이퍼파라미터(모멘텀, AdaGrad, Adam, 가중치 초기화)

하이퍼파라미터 값 찾기 신경망에는 하이퍼파라미터가 많이 등장한다.(ex. 각 층의 뉴런 수, 배치 크기, 학습률, 가중치 등...) 이 값들을 적절히 설정하지 않으면 모델의 성능이 크게 떨어진다. 앞으로 하이퍼파라미터를 다양한 값으로 설정하고 검정할 때, 시험 데이터(test set)을 사용해선 안 된다. 왜냐하면 시험 데이터에 과적합이 될 우려가 있기 때문이다. 이러한 이유로 하이퍼파라미터 전용 확인 데이터가 필요한데, 이를 검증 데이터(validation data)라고 부른다. 즉,* 하이퍼파라미터의 적절성을 평가하는 데이터*이다. > 훈련 데이터 : 매개변수 학습 검증 데이터 : 하이퍼파라미터 성능 평가 시험 데이터 : 신경망의 범용 성능 평가 하이퍼 파라미터 튜닝 방식 Babysitting AKA "Grad Student Descent". "육아", 혹은 대학원생 갈아넣기 이 방법은 소위 노가다... Grid Search

2021년 7월 5일
·
0개의 댓글
·