본문 바로가기

BLOG/딥러닝

컴퓨터에게 눈이 달렸다면 얼마나 좋을까? 【2】CNN_합성곱 신경망 / 컴퓨터 비전의 이해 컴퓨터에게 눈이 달렸다면 얼마나 좋을까? 컴퓨터 비전(Computer vision)은 인간의 시각(vision)을 컴퓨터가 가질 수 있도록 하는 인공지능의 한 분야이다. 사람이 눈을 통해 본 장면을 이해하고 정보를 얻는 것처럼 컴퓨터도 물체와 사람을 식별해서 관계를 파악하고 더 나아가 감정과 의도를 추측할 수 있도록 컴퓨터에게 ‘눈’을 달아 주는 것이다. 사람은 직관적으로 사진 속 사물과 그 관계를 파악하는 것이 가능하다. 그러나 이를 컴퓨터에게 가르치기란 결코 쉬운 일이 아니다. 그렇다면 컴퓨터에게 사람처럼 보는 법을 어떻게 알려 주려 했을까? 컴퓨터에게 눈을 달아주려는 아이디어에 맞게 초창기 컴퓨터 비전은 동물의 시각 정보 처리 방식을 모방하는 연구가.. 더보기
강화학습 (Reinforce Learning) 【1】Deep Learning 시작하기_머신러닝의 종류 강화학습 (Reinforce Learning) 강화학습은 앞서 소개한 세 종류의 학습과는 조금 다른 개념으로 컴퓨터의 동작이 적절한지에 대해 피드백이 있는 학습 방법을 말한다. 학습하는 컴퓨터를 에이전트라고 하며 에이전트가 어떠한 환경(environment) 안에서 하나의 행동(action)을 했을 때 옳다면 보상을(reward), 잘못되었다면 벌점(penalty)을 부여한다. 즉, 특정 환경에서 에이전트가 가장 많은 보상을 받기 위해 어떻게 행동해야 하는지 강조하는 것이다. 강화학습은 입력과 출력에 대한 데이터 쌍을 필요로 하지 않으며 차선의 행동도 허용하지 않는 특징이 있다. 강화학습에 대한 설명은 이 정도로 끝내겠다. 강화학습에 대해 자세히 알.. 더보기
반지도학습 (Semi-Supervised Learning) 【1】Deep Learning 시작하기_머신러닝의 종류 반지도학습 (Semi-Supervised Learning) 반지도 학습은 준지도 학습이라고도 불리며 위에서 다룬 지도학습과 비지도학습을 섞은 학습 방식이다. 그렇기 때문에 데이터의 형태 또한 일부는 지도학습의 데이터 형태를, 일부는 비지도학습의 데이터 형태를 취하고 있다. 즉 반지도 학습은 라벨 y가 있는 데이터와 없는 데이터를 모두 가진 데이터를 이용한다. 데이터의 형태에 맞게 학습 방식 또한 지도 학습과 비지도 학습의 조합으로 이루어져 있는데, 라벨이 없는 데이터를 그룹화 할 때 라벨이 존재하는 일부 데이터를 이용하는 방식이다. 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com 더보기
비지도학습 (Unsupervised Learning) 【1】Deep Learning 시작하기_머신러닝의 종류 비지도학습 (Unsupervised Learning) 비지도 학습은 지도학습과 다르게 지도해줄 조력자의 도움 없이 컴퓨터 스스로 학습하는 형태를 말한다. 비지도 학습의 데이터는 x, y 가 존재하는 지도학습의 데이터에서 라벨 y 가 없는 형태이다. x 와 y의 관계를 파악했던 지도학습과는 달리 비지도 학습은 x들 간의 관계를 스스로 파악하는데 이는 학습에 사용된 데이터들의 특징을 분석해 그 특징별로 그룹을 나누는 것을 의미한다. 이를 통해 새로운 데이터를 입력 받으면 분류해 놓은 그룹 중 그 특징이 비슷한 그룹에 포함 시킨다. 간혹 비지도 학습과 지도학습의 분류를 혼동하는 경우가 있어 다음의 표를 보며 정리 해보자. 가장 두드러진 차이는 학습 데이터.. 더보기
지도학습 (Supervised Learning) 【1】Deep Learning 시작하기_머신러닝의 종류 지도학습 (Supervised Learning) 머신러닝의 종류는 다양한 기준으로 나눌 수 있는데 그중 학습하는 방식과 사용하는 데이터에 의해 다음의 4가지로 구분 가능하다. · 지도학습 · 비지도학습 · 반지도학습 · 강화학습 이렇게 분류가 가능한 것은 학습 목적이 달라 그로 인해 학습 방식에도 차이가 있기 때문이다. 학습 방식이 다르니 학습에 사용되는 데이터의 형태에도 차이가 있어 이러한 특징을 이용해 종류를 나눌 수 있는 것이다. 이제 지도학습부터 하나씩 다뤄보도록 하겠다. 여러분은 각 학습 마다 데이터, 방식, 목적이라는 세가지 키워드에 초점을 맞추어 따라오기 바란다. "지도학습(Supervised Learning)" 지도학습은 말그대로 학습.. 더보기
Batch - Normalization 【1】Deep Learning 시작하기_정규화라는 것도 있다 Batch - Normalization 신경망의 학습 효율을 높이기 위해서 활성화 함수, 초기화, 학습률의 변화 등 다양한 방법들이 등장해왔다. 이러한 간접적인 방법들 뿐만 아니라 학습 과정 자체를 안정화 하기위한 근본적인 연구들 또한 진행이 되어왔다. 신경망의 불안정성에는 내부 공변량 변화(Internal Covariance Shift)의 문제가 있는데 이는 신경망의 각 층 별 활성화 함수로 들어가는 입력데이터의 분포가 다른 현상을 말한다. 내부 공변량 변화 문제를 해결함으로써 신경망 학습 자체의 안전성을 높이고자 등장한 기법이 바로 배치 정규화다. "Batch - Normalization" 배치라는 용어는 전체 데이터가 한 번에 처리하기 힘.. 더보기
Drop-out 【1】Deep Learning 시작하기_규제하라는 게 있다 Drop-out 드롭 아웃은 노드를 임의로 끄면서 학습하는 기법이다. 은닉층에 배치된 노드 중 일부를 임의로 끄면서 학습을 한다. 꺼진 노드는 신호를 전달하지 않으므로 지나친 학습을 방지하는 효과를 주는 것이다. 왼쪽의 그림은 일반적인 신경망이고 오른쪽의 그림은 드롭 아웃을 적용한 신경망의 모습이다. 일부 노드들이 꺼지고 남은 노드들로 신호가 연결되는 신경망의 형태를 볼 수 있다. 어떤 노드를 끌 지는 학습할 때마다 무작위로 선정이 되며, 시험 데이터로 평가할 때는 노드들을 전부 사용해 출력하되 노드 삭제비율(드롭아웃 비율이라고 한다)을 곱해 성능을 평가한다. 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail... 더보기
L1 Norm, L2 Norm 【1】Deep Learning 시작하기_규제화라는 게 있다 L1 Norm, L2 Norm 정확하게 말하면 규제화(regularization)는 일부 미지수의 값을 아주 작게 만들어 그 영향을 줄임으로써 마치 미지수의 개수가 적어진 효과를 가져온다. 가중치 값이 커지는 것을 막는다는 제한, 규제의 의미가 있데 이런 규제화의 종류에는 L1 norm(노름)과 L2 norm이 존재한다. 각 각의 설명을 위해 두 종류를 비교해 보도록 하겠다. 다음의 표에 기재된 수식을 한번 보자. 먼저 λ (람다)는 규제화의 세기를 조절하는 변수이며 의 값을 크게 주면 강한 규제를, 값을 작게 주면 약한 규제를 줄 수 있다. 수식을 보면 입력 feature가 d개가 있을 때 바이어스(b)를 w0으로 표현해 총 d+1개의 w가 있.. 더보기
Overfitting 해결하기 【1】Deep Learning 시작하기_규제화라는 게 있다 Overfitting 해결하기 Input feature 수 = 파라미터의 수 = 가중치의 수 = 미지수의 개수-1 (bias) Train data의 양 = (가중치를 풀) 방정식의 수 상대적으로, 방정식 보다 미지수가 많으면 오버피팅이 발생! 작성자 홍다혜 ghdek11@gmail.com / 이원재 ondslee0808@gmail.com 더보기
Overfitting이 무엇일까? 【1】Deep Learning 시작하기_규제화라는 게 있다 Overfitting이 무엇일까? 우리는 지금까지 신경망의 학습 성능을 높이기 위한 기술들을 알아보았다. 신경망은 데이터를 기반으로 학습을 시키는데 이 때 학습한 결과를 평가하는 과정이 반드시 필요하다. 일종의 시험을 통해 신경망의 학습 결과를 확인하는 것이다. 학습에 사용되는 데이터를 학습 데이터(Trainset)라고 하고 평가에 사용되는 데이터를 시험 데이터(Testset)라고 하는데 신경망을 충분히 학습시키다 보면 학습데이터를 너무 ‘완벽 학습’ 하여 학습에 등장하지 않은 데이터는 맞추지 못하는 상황이 발생하게 된다. 이를 오버피팅(혹은 과적합, Overfitting) 상태라고 부른다. 즉, 오버피팅이란 주어진 데이터를 지나치게 학습한 나머.. 더보기