2022 구글 머신러닝 부트캠프 3주차 이야기
2022. 7. 17. 21:14
진로/구글 머신러닝 부트캠프
강좌2를 무사히 마쳤다. 꽤나 급박하게... 강좌3은 마감기간이 일주일밖에 되지 않는다. 부지런히 들어야 한다. 테크톡을 들으면서 느끼는 것.. - AI개발자로서 CS, 수학, 통계 베이스는 필수.. (특히 CS기반이 제대로 되어 있는 게 중요) - 자신이 어떤 쪽을 잘하고, 하고 싶은 건지 생각해야 함: 엔지니어? 데이터사이언티스트? - 모델링도 모델링이지만, 실무에서 정말 필요로 하는 것은 데이터를 다루는 역량 - AI개발자는 끊임없이 공부하는 직업 공부할 게 너무 많다.. 나는 정말 뭣도 모르고 취업해버렸다. 뭐 앞으로 잘하면 되니까.
[2.3.] Introduction to Programming Frameworks
2022. 7. 13. 23:54
인공지능/DLS
Deep Learning Frameworks 다양한 딥러닝 프레임워크 중에서 선택하는 팁 - 프로그래밍하기 편한 것 - 빠른 것 - 오픈소스인 것 TensorFlow 아주 간단한 cost function을 상정해보자 $J(w) = w^{2} - 10w + 25$ import!! import numpy as np import tensorflow as tf define the parameter w w = tf.Variable(0, dtype=tf.float32) # variable to optimize optimizer = tf.keras.optimizers.Adam(0.1) # learning rate 0.1 def train_step(): with tf.GradientTape() as tape: cost..
[2.3.] Multi-class Classification
2022. 7. 13. 22:39
인공지능/DLS
Softmax Regression $C$ : 클래스 개수 -> 네 개의 클래스라고 하면 (0, 1, 2, 3) *3은 어디에도 속하지 않는 경우 output layer의 유닛 개수는 클래스 개수와 일치해야 함 ($n^{[L]}=C)$ $\hat{y}$ 는 (4, 1) 차원 -> 하나로 합해야 함 Softmax Layer 마지막 레이어 $L$의 입장에서 생각했을 때, $Z^{[L]} = W^{[L]}a^{[L-1]} + b^{[L]}$로 z값을 구했으면 "softmax activation function"에 통과시켜야 한다 임의의 변수 $t$ 를 설정 $$t = e^{z^{[L]}}$$ * element-wise exponentiation * $z^{L}$는 $(4, 1)$ 차원이므로, $t$도 $(4, ..
[2.3.] Batch Normalization
2022. 7. 12. 23:04
인공지능/DLS
Normalizing Activations in a Network *1주차에서 배웠던 normalizing inputs $$\mu = \frac{1}{m} \sum_{i=1}^{m} x^{(i)}$$ $$x := x - \mu$$ $$\sigma^{2} = \frac{1}{m} \sum_{i=1}^{m} x^{(i)} \star \star 2$$ $$ x /= \sigma$$ - $\star \star 2$ : element-wise squaring 더 깊은 신경망이라면? input features $X$뿐만 아니라, 레이어마다 활성화값이 있음 말하자면, $w^{[3]}$, $b^{[3]}$ 를 더 효율적으로(빠르게) 학습하기 위해 $a^{[2]}$를 normalize 하는 건 어떨까? --> batc..
[2.3.] Hyperparameter Tuning
2022. 7. 12. 21:08
인공지능/DLS
Tuning process - learning rate $\alpha$ 주>초 순으로 중요도) 그리드 모양으로 펼쳐진 점들을 따라 하이퍼파라미터를 찾곤 했음 하이퍼파라미터 개수가 상대적으로 적을 때는 괜찮음 그러나 만약 하이퍼파라미터1이 중요한 learning rate 이고 하이퍼파라미터2가 상대적으로 덜 중요한 $\epsilon$이라고 해보자 하이퍼파라미터2는 굳이 해보지 않아도 뻔한데, 그리드 형식을 따라간다면 동일한 하이퍼파라미터2에 여러번 테스트를 시행하게 됨 따라서 그 대신에 random 포인트를 따라가보기로 함 어떤 하이퍼파라미터가 제일 좋을지 알 수 없기 때문에 "Coarse to fine" sampling 좌측 하단쪽의 포인트들이 괜찮은 결과를 나온다면 그 부근을 확대하여 그 지역에서 밀도..
[2.2.] Optimization Algorithms(2)
2022. 7. 12. 00:37
인공지능/DLS
Bias Correction in Exponentially Weighted Averages exponentially weighted average 를 조금 더 정확하게 계산할 수 있도록 해주는 bias correction $$v_{t} = \beta v_{t-1} + (1-\beta)\theta_{t}$$ $\beta$가 $0.98$일 때, 사실은 왼쪽이 아닌 오른쪽의 보라색 그래프를 얻게 된다 보라색 그래프는 시작할 때 값이 낮음 --> 이걸 고쳐보자 $$v_{1} = 0.98v_{0} + 0.02\theta_{1}$$ 처음 $v_{0}$을 $0$으로 initialize 하기 때문에, $v_{1}$을 구할 때 사실상 $0.02\theta_{1}$ 뿐임 첫날에 대해서는 $0.02$가 곱해진 훨씬 낮은 ..
[2.2.] Optimization Algorithms(1)
2022. 7. 11. 23:24
인공지능/DLS
Mini-batch Gradient Descent fast optimization algorithm $$X = [x^{(1)}, x^{(2)}, x^{(3)}, \ldots, x^{(m)}]$$ $$Y = [y^{(1)}, y^{(2)}, y^{(3)}, \ldots, y^{(m)}]$$ - $X$는 $(n_{x}, m)$, $Y$는 $(1, m)$ 차원 $m$이 너무 크면 vectorization 해도 시간이 많이 걸림 gradient descent를 전체 훈련셋에 실시하는 것 = gradient descent 한 스텝 하기 전에 전체 훈련셋을 처리해야 함 전체 훈련셋을 모두 처리하기 전에 gradient descent를 시작하게 하면 더 빨라진다 training set을 baby training se..
2022 구글 머신러닝 부트캠프 2주차 이야기
2022. 7. 11. 23:17
진로/구글 머신러닝 부트캠프
무려 2주차만에 위기가 찾아왔다.. 이번주 금요일이 마감인데 다 할 수 있을까? 내일이랑 내일 모레는 거의 밤 새워야 할 듯. 고백하자면 공부를 별로 못했다. 취소하기 어려운 약속이 연달아 있었다. 주말에는 여행 일정이 있었다. 강원도로 가는 고속버스에서도 강의를 들었으나 겨우 세 강 들었나... 부트캠프 중도하차는 전혀 생각해본 적 없는 옵션이었는데, 완주에 실패하는 상상을 나도 모르게 해버렸다. 소름이 끼치고 무서웠다. 퇴사는 무른 상태다. 리스크가 너무 크다. 물론 매일매일 마음이 흔들린다. 진도 따라잡느라 급급하다. 하나하나 이해하려고 들었던 1주차와 느낌이 너무 다르다. 쎄하게 다르다. 최대한 시간을 확보해보자.