목록전체 글 (168)
Kim Seon Deok
MLP의 한계점 MLP는 입력데이터로 1차원 벡터만 사용 가능 2차원 이상의 데이터는 평탄화(flatting)과정을 사용 이 데이터들은 공간적 정보가 소실 Convolutional Neural Networks 시각적 영상을 분석하는 데 사용되는 다층의 feed-forward적인 인공신경망의 한 종류 CNN을 사용하는 이유 적은 수로 많은 Feature를 생성하므로 & 연산량이 적으므로 & 메모리 사용향이 적으므로 stationarity : 이미지 위치에 상관없이 동일한 특징들이 존재 Translation invariance : 입력이 바뀌어도 출력은 그대로 유지되어 바뀌지 않는다. Convoultion과 pooling을 반복하여 상위 feature을 구성 Convolution : Filter를 이용해 L..
데이터셋 구성 Training set 실제 학습에 사용되는 데이터(전체의 80%) Validation set 학습 중간 중간에 사용되는 평가 데이터 (전체의 약 10%) best performance model을 선택하는 데 사용됨 Test set 학습 과정에서는 절대 사용하지 않는 데이터 (전체의 약 10%) 내 모델이 실제 사용되는 상황에서 마주하는 데이터 >> 최종성능을 판단 validation set과 함께 사용하지 않는다!! Weight Initialization 딥러닝 학습의 목표 : 좋은 weight의 값을 찾는 것 시작이 어떠한값이어도 좋은 weight에 도달할 수 있을까? >> NO 시작 값이 좋아야 학습도 잘된다. 특정 분포를 정해두고 해당 분포에서 sampling 한 값들을 weigh..
2. Back propagation Loss를 바탕으로 각각의 w 하나하나가 얼마나 영향을 주었는지 알아내고, 좀 더 적절한 방향으로 w들을 변경해 나가는 것 -학습의 목표 : 가능한 작은 loss 값을 갖는 w를 찾는 것 > 작은 loss & 좋은 w -w와 loss의 관계를 이용해 좋은 w를 찾아가는 방법 : 그래프의 기울기를 이용한 (경사 하강법) > 그래프의 최저점을 찾음 Gradiend decent(경사 하강법) = Back propagation의 수단 임의의 한 지점으로부터 시작해 loss가 줄어드는 방향으로 w(weights = parameters)들을 갱신하는 방법 loss가 더이상 감소하지 않는 시점까지 w를 음의 기울기 방향(-)으로 조금씩 움직이는 것을 여러 번 반복 목적지 : los..
순수한 재귀 = 재귀호출을 여러 번 실행하는 함수 하향식 분석 : 가장 위쪽에 위치한 상자의 함수 호출부터 시작하여 계단식으로 자세히 조사해 나가는 분석방법 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 순수한 재귀 함수 구현하기 >> 하향식 분석 def recur(n: int) -> int: """순수한 재귀 함수 recur의 구현""" if n > 0: recur(n-1) print(n) recur(n-2) x = int(input(f'정숫값을 입력하세요.: ')) recur(x) Colored by Color Scripter cs recur(4)의 실행과정 1. recur(3)을 실행 2. 4를 출력 3. recur(2)를 출력 상향식 분석 : 아래쪽부터 쌓아 올리며 분석하는 방법 ..
재귀 : 어떠한 이벤트에서 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의되는 경우 양의 정수를 순서대로 곱한다 = 순차곱셈 = math.factorial()함수 factorial()함수는 n-1팩토리얼값을 구하기 위해 자신과 똑같은 factorial()함수를 또 호출 재귀 호출 : 자기 자신과 똑같은 함수를 호출 1 2 3 4 5 6 7 8 9 10 11 12 13 # 양의 정수 n의 팩토리얼 구하기 def factorial(n:int) -> int: """양의 정수 n의 팩토리얼값을 재귀적으로 구함""" if n > 0: return n * factorial(n-1) else: return 1 if __name__ == '__main__': n = int(input('출력할 팩토리얼값을 입력하세..