역방향으로 미분값 계산하기
딥러닝으로 모델을 학습시키기 위해 미분 값을 구하는 과정이 필요하다. 만약 왜 미분이 필요한지 모른다면 ‘경사하강법과 학습률‘을 참고하면 된다. 해당 내용을 몰라도 이번 글을 이해하는 데는 문제는 없다. 배경 지식 미분의 정의 (+극한) 도함수 합성 함수 표현 문제점 일반적으로 미분 값을 구할 때, 도함수를 구한 후 값을 대...
딥러닝으로 모델을 학습시키기 위해 미분 값을 구하는 과정이 필요하다. 만약 왜 미분이 필요한지 모른다면 ‘경사하강법과 학습률‘을 참고하면 된다. 해당 내용을 몰라도 이번 글을 이해하는 데는 문제는 없다. 배경 지식 미분의 정의 (+극한) 도함수 합성 함수 표현 문제점 일반적으로 미분 값을 구할 때, 도함수를 구한 후 값을 대...
사전 지식 평균 ( $\cfrac{1}{n} \sum_{i=1}^{n}x_i$ ) 이차함수의 미분과 접선의 기울기 편미분 전체 개념 살펴보기 여기서 이해 못 해도 괜찮다. 일단 읽고 넘어가자. 딥러닝에서 모델을 학습한다는 것은 실제 값과 예측 값 오차를 최소화하는 가중치를 찾는 과정이다. 여기서 ‘오차’를 정의하는 함수를 비용...
선형 구조 활성화 함수는 알지만 왜 써야하는지 모를 수 있다. 그럼 아래와 같이 은닉층이 있는 신경망은 어떻게 결과값을 계산하는지 확인해보자. [z_0=w_0x_0+w_1x_1] [z_1=w_2x_0+w_3x_1] [y=w_5z_0+w_6z_1] 확인을 위해 식을 직접 대입해 보면, [y=w_5(w_0x_0+w_1x_1)+w_6(w_2x...
기본적인 CNN 모델을 만들기 위해 필요한 개념들을 정리하였다. 결과: Github: cnn CNN 모델 구조 2D Convolution Convolution은 합성곱 연산이다. CNN 모델에서 이미지 특징을 추출하는 과정이 바로 합성곱 연산이다. Input: 입력은 (h, w) 크기를 가지는 2차원 이미지. kernel: ...
Python으로 프로젝트를 진행하던 중, Python을 비동기로 처리하면 빠를까?에 대한 궁금증이 생겼다. 우리는 시간이 걸리지만, 우리 코드가 아닌 곳에서 시간이 걸리는 활동을 찾고 싶다. 데이터베이스를 조회할 때나 외부 서비스를 접근할 때, 사용자 입력을 기다릴 때 같이 우리 프로그램이 다른 작업이 끝나기를 기다려야 하는 상황 말이다. 이런...
알고리즘 또는 패키지 성능을 테스트할 때 시간과 메모리를 측정할 일이 정말 많다. 그런데 특히 메모리와 관련해 정리된 글을 못 찾았다. 그래서 시간과 메모리 측정을 위해 사용할 수 있는 방법들을 구상해 정리해보았다. 그리고 Decorator+시간측정, Context Manager+메모리 측정를 사용해 파이썬다운 이쁜 코드를 적어보았다. Deco...