분류 전체보기(327)
-
1. Orthogonalization
Orthogonalization : 직교화. 무슨의미? - 차 컨트롤러 : 핸들, 엑셀, 브레이크. - if 조이스틱(0.3 각도, -0.8 브레이크, 2엑셀)이 있다면 미세하기 조절하기가 훨씬 힘들다. - 따라서 하나의 변수가 하나의 효과만 가져오도록 하는 것을 직교화(Orthogonalization)이라고 한다. ML 에서 직교화? if 학습이 잘 되지 않는 경우 : bigger network , change optimizer etc... if 검증이 잘 되지 않는 경우 : Regularization, bigger train set if 실험이 잘 되지 않는 경우 : bigger dev set if real world에서 성능이 좋지 않은 경우 : change cost function, change ..
2023.09.14 -
36. Tensorflow
import numpy as np import tensorflow as tf w = tf.Variable(0, dtype=tf.float32) # tensorflow 변수를 선언해주어야 한다. optimizer = tf.keras.optimizers.Adam(0.1) # learning_rate = 0.1 def train_step(): with tf.GradientTape() as tape: # 테이프처럼 gradient를 forward과정에서 기록해두면 backward시 다시 되감기로 꺼내올 수 있음 cost = w**2 + -10*w + 25 trainable_variables = [w] grads = tape.gradient(cost, trainable_variables) # cost를 이용하여 ..
2023.09.12 -
35. Deep Learning Frameworks
많은 프레임워크가 있지만 선택하는 기준에서 truly open. - 즉 지금은 오픈소스로 공개되어있다고 하더라도 향후 기업이 통제할지 가능성에 대해서도 보는것이 좋다. caffe/caffe2 pytorch tensorflow 정도 내가들어본 프레임워크가 있는데, 구글 ML 부트캠프에서는 tensorflow를 사용할 예정이다.
2023.09.12 -
34. Training a Softmax Classifier
why softmax? - In hard max : 가장 큰 값을 가지는 것을 1, 나머지는 0으로 치환 - In softmax : 확률을 모두 나타내므로 soft방식 If class=2, sigmoid = softmax(증명은 생략.) - softmax는 sigmoid에 대해 일반화를 한 것(n개의 class가 있다고 가정) loss를 줄이기 위해서는 y hat을 증가시켜야하는 것을 확인할 수 있다. loss를 구하는 방법을 알았으니 이제 forward_propagation, backward_propagation을 올바르게 구축만 한다면 모델을 학습시킬 수 있다.
2023.09.12 -
33. Softmax Regression
Softmax : multi class Regression Sigmoid : binary class Regression L layer : Softmax Activation function. - t = e**(Z[l]) - g(x) = e**(Zi[l]) / sum(Zi[l](i)) 과 같이 softmax 함수의 수식일뿐. (i는 unit번호) - a는 각 class에 속할 확률이니, 모든 class에 대해 합을 구하면 1이 나와야한다. multi class에 대해 분류기를 나타낸 것이다. 각 경계선이 모두 선형임을 확인할 수 있는데, 이와 같이 multi class에 대해 분류를 수행할 수 있음을 나타내는 것을 확인할 수 있다.
2023.09.12 -
32. Batch Norm at Test time
test time시에는 mini-batch가 아닌 모든 테스트 예제를 한번에 계산해야할 수도 있다. - train시에 mini-batch에서 얻었던 평균, 분산을 이용하여 테스트 예제의 평균,분산을 계산하고, noramlize에 사용한다. 그냥 테스트 예제의 평균,분산을 구해서 사용하면 안되나? 왜 훈련 예제로 부터 추정을 해야하지? - 기본적으로 테스트란 모델을 구축 후 input을 주고 output을 받는구조이다. - 예를 들어 갈색 고양이 사진을 넣었다고 하자. 그렇다면 test시에 이미지 1개가 들어가고 Output으로는 고양이 인지아닌지(0 or 1)이 나와야한다. - 1개의 예제에 대해서 평균과 분산을 구한다? 말도 안된다. 따라서 train에서 추정을 해오는 것.
2023.09.12