AI/Concept 3

오차 역전파의 개념

딥러닝의 가장 기본이 되고, 동시에 딥러닝의 전부(?)라 할 수 있는 오차 역전파에 대해 알아보고자 한다. 오차 역전파를 가장 잘 설명 할 수 있는 그림이 아닐까 싶다. 오차역전파는 쉽게 말해서 출력값의 정확도를 높이기 위해 실제값과 비교하여 가중치를 변경하는 작업이다. 결국 딥러닝은 각 변수별 가중치로 예측, 분류가 이뤄지는데 이 가중치를 학습할때마다 실제 값과 비교하여 튜닝 하는 것이다. 그 결과 각각의 레이어별, 가중치가 적절하게 설정이 되면 예측, 분류가 잘 되는 모델이 되는 것이다. 오차역전파의 순서는 다음과 같다. 순서 임의의 초기 가중치를 레이어를 걸쳐 결과 계산 계산결과와 실제 예측하고자 하는 값 사이의 오차 계산 가중치 업데이트 위의 3가지 단계를 반복 이런 순서를 최소몇십번 몇백번 몇천..

AI/Concept 2023.08.24

Convolution 연산 종류

CNN 계열의 모델은 기본적으로 Kernel이라는 이미지의 특징을 잡아내기 위한 파라미터가 존재하고 이와 input 행렬과 연산하는 것을 Convolution 연산이라고한다. 가장 기본적인 Convolution연산은 아래와 같다. CNN Convolution 연산으로 인한 파라미터는 K x K x input channel x output channel 이다. 즉 인풋 채널이 3(일반적인 RGB채널) 이고 커널의 크기가 3X3 아웃풋채널이 64인 경우인 레이어의 경우에는 파라미터는 3x3x3x64 = 1,728 이다. 파라미터 수가 많으면 많을 수록 메모리비용과 연산속도는 기하급수적으로 늘어난다. 이에, 다양한 Convolution 연산을 통해 이미지의 특징은 잘 추출하면서 연산속도와 메모리비용을 감소시키..

AI/Concept 2023.07.04

Class imbalance(클래스불균형) 및 해결 방법

세상에 잘 정제된 데이터만 있으면 얼마나 좋을까요? 하지만 그건 너무 비현실적입니다. 그래도 우리는 이런 쉽지 않은 데이터를 기반으로 유의미한 예측을 하고 분류를 진행해야 합니다. 결측값이 너무 많다거나, 데이터의 이상치가 너무 크거나, 아니면 데이터의 분포가 한쪽으로 쏠리는 등 업무현장에서 많이 마주하게 됩니다. 1. 클래스불균형이란 그 중 제가 첫번째로 잡은 주제는 클래스 불균형 , 예측하려고 하는 클래스가 불균형한(한쪽으로 쏠린) 데이터셋를 가지고 분류를해야 할 때 입니다. 대표적인 예가 "고장분류" 입니다. 어떤 상품이 고장인지 정상인지 분류하는 데이터가 있다고 하면, 아마 98%의 데이터는 정상이라고 할 것이며, 2% 정도가 고장이라고 하는 데이터 일 겁니다.(왜냐면 고장이라는것이 흔한 현상은 ..

AI/Concept 2023.06.10