활성화 함수의 목적 : 표현력 증가
세포체도 입력 신호들의 합이 일정치 이상이면 활성화시키고, 아니면 그 신호를 무시한단다.
선형(Linearity)
선형 함수 여러 개를 연결 시켰을 때 선형이 되는지를 위의 조건들을 통해서 증명할 수 있단다.
선형 함수를 여러 개 합성시키면 그 함수도 선형이다.
위의 표현력 얘기
np.ma.masked_where(condition, condition에 따라 마스크해서 내보낼 같은 shape의 어레이)
ReLU가 0에서 미분이 안되는 이유
ReLU 함수의 단점
# PReLU 함수
def prelu(x, alpha):
return max(alpha*x,x)
# 시각화
ax = plot_and_visulize(img_path, lambda x: prelu(x, 0.1)) # parameter alpha=0.1일 때
ax.show()
alpha
라는 파라미터를 지정해줘야 하고,prelu=(alpha=0.01)
같이 쓰면) x 파라미터도 missing이라고 뜬다.import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
def plot_and_visulize(image_url, function, derivative=False):
X = [-10 + x/100 for x in range(2000)]
y = [function(y) for y in X]
plt.figure(figsize=(12,12))
# 함수 그래프
plt.subplot(3,2,1)
plt.title('function')
plt.plot(X,y)
# 함수의 미분 그래프
plt.subplot(3,2,2)
plt.title('derivative')
if derivative:
dev_y = [derivative(y) for y in X]
plt.plot(X,dev_y)
# 무작위 샘플들 분포
samples = np.random.rand(1000)
samples -= np.mean(samples)
plt.subplot(3,2,3)
plt.title('samples')
plt.hist(samples,100)
# 활성화 함수를 통과한 샘플들 분포
act_values = [function(y) for y in samples]
plt.subplot(3,2,4)
plt.title('activation values')
plt.hist(act_values,100)
# 원본 이미지
image = np.array(Image.open(image_url), dtype=np.float64)[:,:,0]/255. # 구분을 위해 gray-scale해서 확인
image -= np.median(image)
plt.subplot(3,2,5)
plt.title('origin image')
plt.imshow(image, cmap='gray')
# 활성화 함수를 통과한 이미지
activation_image = np.zeros(image.shape)
h, w = image.shape
for i in range(w):
for j in range(h):
activation_image[j][i] += function(image[j][i])
plt.subplot(3,2,6)
plt.title('activation results')
plt.imshow(activation_image, cmap='gray')
return plt
plt.figure()
로 만들고서 변수명을 할당 안 했다 했을 때 return
에 plt
만 써도 그 객체가 pointing 되나보다.np.random.normal
은 그냥 정규분포이고, np.random.randn
을 표준정규분포에서 난수 추출인 것 같다.Dropout의 test phase
transfer learning
오늘 cs231n lecture 7의 optimization 부분의 발표자로 뽑혔었다. 덕분에 optimizer들 중 momentum(방향)과 AdaGrad(divide learning rate(보폭) by gradient accumulation) 계열에 대해 좀 더 깊게 알 수 있어서 좋았다.
헷갈린다면 발표 자료에서 찾아보자. 비공개여서 나만을 위한 링크