멀티 레이블 분류를 보기에 앞서 머신러닝 모델은 크게 회귀 모델과 분류 모델로 나뉠 수 있습니다. 여기서 분류 모델은 이 사진이 개인지 고양이인지를 분류하는 모델, 사람이 맞는지 틀린지를 분류하는 모델 등 0과 1로 라벨링해서 분류를 할 수 있는 이진 분류 문제와, 어떤 사진이 개인지 고양이인지 토끼인지 고라니인지 등 다수의 레이블 중 하나를 선택하는 멀티 클래스 분류가 존재합니다. 이 두 개의 분류 방법 이진 분류, 멀티 클래스 분류는 각각 다른 Activation function , Loss function을 사용합니다. 여기서는 Activation function을 간단하게 정리해보겠습니다. Loss function에 대해서는 쉽게 정리된 링크로 대체합니다. 링크 해당 링크에서는 뒤에 나올 내용인 ..
LSTM은 기존 RNN의 긴 기간의 의존성 문제에 약한 단점을 보완한 RNN의 한 기법입니다. 간단한 구조인 RNN과 달리 꽤 복잡한 구조로 이루어져 있습니다. 구조가 어려운 만큼 이해하기 어려워 rastgo’s blog의 게시물 RNN과 LSTM을 이해해보자! · ratsgo's blog 을 따라 적어보며 이해하고자 했습니다. 기본 구조 Cell State LSTM은 위의 그림의 직선처럼 Cell state라는 긴 통로가 존재합니다. 이 Cell state를 활용하여 이전 단계의 정보를 이어가게 됩니다. 이러한 Cell state에 정보를 더하거나 잊게 하는 방법이 존재하는데 이를 Gate를 통해 제어하게 됩니다. 그림의 Cell state 상의 X,+ 두 기호가 각 게이트를 말하며 각각 Forget ..
XAI(설명가능한 AI)에서는 다양한 방법들이 존재하지만, 그 중 특히 CNN의 필터와 관련된 방법론들이 많이 존재합니다. 이를 공부하기 전에 CNN의 이론들에 대해 알아보고자 합니다. CNN은 시각 피질에 대한 연구에 이미지를 DNN으로 처리하는 데 생기는 문제점을 해결하기 위해 점진적으로 진화한 알고리즘입니다. 이미지 분야에 DNN이 사용되지 않는 이유는 어마어마하게 많은 파라미터가 생긴다는 단점과, 이미지와는 다르게 위치 정보를 이용할 수 없다는 단점들이 존재하기 때문입니다. 이 페이지에서는 CNN의 중요한 두 가지 구조인 합성곱층, 풀링층에 대해 우선 설명하고, 나머지 연결부분들에 대해 간단히 요약해서 최종적으로는 기본적인 하나의 CNN 모델의 구조에 대해 설명해보고자 합니다. 합성곱층(Convo..
경사하강법(Gradient descent) 함수의 기울기를 구해 최소값에 이를 때까지 반복시키는 방법. 학습률만큼 계속 이동하며 학습하기 때문에 적절한 학습률을 지정해야 한다. 딥러닝에서는 비용함수를 사용하여 이 값을 최소화하는 방식을 사용한다. 수식을 통해 기울기가 0인 지점을 찾을 수도 있겠지만 실제 함수가 어떠한 형태인지 모르는 문제(비선형함수 등 문제)등으로 인해 컴퓨터로 gradient descent를 구현하여 사용한다. 학습률의 경우 너무 높을 경우 수렴하기가 힘드며, 너무 낮을 경우 local minima 문제에 빠질 수 있다. local minima 문제를 해결하기 위해 모멘텀을 주로 사용한다. 비용 함수(Cost function) 예측 값과 실제 결과 간의 차이를 비용(Cost)라 하며,..
활성화 함수를 사용하는 이유 선형 시스템은 아무리 쌓더라도 망을 깊어지게 할 수는 없다. 예를 들어 a,b라는 상수 x,y라는 변수에 대해 f(ax+by) = af(x) + bf(y)라는 성질으로 인해 깊은(deep) 망을 구현할 수 없다는 단점을 가지고 있다. 이런 단점을 해결하기 위해 활성화 함수를 사용한다. 결론적으로 활성화함수는 non-linearity한 시스템을 만들어준다. non-linearity(비선형성)의 중요성 데이터가 복잡해지고, feature들의 차원이 증가하면서 데이터의 분포가 선형적이지 않고 비선형적으로 나타나는데, 예를 들어 이진 분류 문제에서 직선으로 두 분포를 나눌 수 있으면 좋겠지만 선형 boundary로 표현하지 못할 가능성이 더 높다. 이런 문제를 non-linearit..
배치 정규화(Batch Normalization) 앤드류 응 교수에 따르면 배치 정규화를 통해 두 가지 효과를 얻을 수 있다고 한다. 링크 : www.youtube.com/watch?v=nUUqwaxLnWs 효과 1. 공변량 변화 문제점 해결 머신러닝 모델의 문제점 중 하나는 관측 함수가 바뀌는 것이 아니더라도 Input Data가 달라짐으로써 공변량 변화가 일어나면 학습을 다시해야 한다. 또한 인공신경망의 경우 깊은 층의 가중치는 앞쪽 층의 가중치에 영향을 덜 받는다. 이제 임의의 노드 a1x1 + a2x2 + ... +anxn을 받는 깊은 층 w3b3를 봤을 때. 이 노드는 앞의 층에서 계속해서 값이 변화하기 때문에 공변량 변화의 문제가 생기게 된다. 배치 정규화는 이 은닉층에 들어오는 값들의 분포가..