이미지처리에 가장 많이 사용하는 머신 러닝 기법인 합성곱 신경망
합성 곱 신경망
컴퓨터 비전 영역에서 많이 사용
시각
은 인간의 가장 강력한 인지 기능임
다른 감각을 모두 합쳐도 시각이 가장 중요함, 그만큼 복잡한 내부 작용이 있음
자율주행차는 신호, 차선, 도로의 모양 등을 인지한 후 주행함
이때, 합성곱신경망을 이용해 파악함
인공지능이 그린 추상화
학습을 해서 기반으로 새로운 창조물을 만드는 과정도 인공지능의 한 분야임
이미지분석 => 특징 추출 => 새로운 입력 데이터를 조합해 또 다른 형태의 이미지 창조
학습의 역방향
출력으로 입력을 유추할때, 학습(매개변수)을 반대로 진행하면 정확하게 원본이 나오지 않음
사진을 분석한 후 사진에 대한 설명이 자동으로 달린다.
컴퓨터
가 사람의 시각 능력을 대체
하려고 할 때 합성곱 신경망
을 사용함
퍼셉트론: 뇌의 지각기능 모방함(입력 => 뉴런 => 정보 만듦)
합성곱 신경망: 시신경의 운동 방식 모방함
안구의 수정체의 빛을 받아들이는 광수용세포들이 모여 수용장으로 구성
수용세포는 센싱한 빛의 강도를 화학신호로 변환해 수평세포와 양극세포에 전달
수평 세포와 양극 세포는 신호를 모아 발화 여부 결정
이에 따라 사람이 느끼는 것이 결정됨
주로 입력 부근 계층들을 합성곱 계층으로 구성, 출력 부근 층들을 완전 연결 계층으로 구성
인접하는 계층의 뉴런이 모두 연결되고 출력의 수는 임의로 정할 수 있음
입력데이터의 특성(데이터의 형상)이 무시되는 형태
3차원 데이터 => 공간적 정보 담겨있음
공간적으로 가까운 픽셀은 값이 비슷
RGB 각 채널은 서로 밀접하게 관련
거리가 먼 픽셀은 연관 X
입력: 1차원 데이터 => 출력: 1차원 데이터
서로 연결되어 있는 구조
필터 연산을 통한 특징 추출 또는 신호 변환에 사용
입력 데이터에 필터를 적용해 일정 간격으로 이동해가며 입력 데이터에 적용함
컬러 이미지는 각 픽셀을 RGB 3개의 실수로 표현한 3차원 데이터로 3개의 채널로 구성
입력데이터 * 필터(커널) => 결과
입력데이터의 필터(커널)를 적용
입력데이터, 필터 모두 가로/세로 형상 가지고 있음
수평 에지 커널을 곱하면 수평 에지 특징 맵 도출
수직 에지 커널을 곱하면 수직 에지 특징 맵 도출
주요 특징
필터의 윈도우(window)를 일정 간격으로 이동해가며 입력 데이터에 적용
ex.
각각의 그룹에대한 특징 추출
한 단어로 표현하라고 할때 특징을 모은 후 그중 대표적인 속성 추출
완전 연결 신경망의 가중치와 매개변수의 역할
필터를 적용한 원소에 고정 값(편향)을 더해 출력
합성곱 연산을 하면 출력 이미지의 사이즈가 작아지게 된다.
합성곱 연산을 수행하기 전 입력데이터 주변에 특정값(보통 0)으로 채우는 것(값을 덧댄다)
합성곱 연산에서 출력 크기를 조정할 목적으로 사용, 출력 이미지 사이즈를 그대로 유지 가능 (합성곱 연산보다 출력 크기 키움)
입력데이터에 필터를 적용할 때 이동할 간격 조정하는 것
필터를 적용하는 위치의 간격
스트라이드를 키우면 출력의 크기가 작아짐
이미지의 경우 실질적으로는 3차원
입력 특징 맵과 필터가 채널 수 만큼 존재
정보를 키우고 싶다면 padding으로!
padding은 2차원데이터일때,
3차원에서는 필터(가중치) 다수 사용하기!
필터를 FN개 사용할 경우 출력 맵도 FN개
(FN, OH, OW)
필터를 FN개 사용할 경우 필터의 가중치 데이터는 4차원으로 구성
(FN,FC, FH, FW)
딥러닝이 스스로 특징을 찾아내기!
일정 영역의 정보를 축약하는 역할
가로, 세로 방향의 공간을 줄이는 연산
2X2 최대 풀링(2X2 윈도우 설정, 가장 큰 값 내놓음)
스트라이드 만큼 건너띄며 수행
윈도우 크기와 스트라이드 크기는 같은 값으로 설정하는 것이 보통
최대 풀링(Max Pooling)
각 Pixel에서 최댓값을 뽑아내는 과정
평균 풀링(average pooling)
각 Pixel에서 평균값을 뽑아내는 과정
원래는 윈도우끼리 겹쳤으나 풀링을 통해 겹치지 않게 함
학습 매개변수 없음
앞과 달리 필터가 없음
대상 영역에서 최댓값이나 평균을 취하는 단순 연산
채널 수 변하지 않음
입력데이터의 채널 수 그대로 출력 데이터로 내보내짐(채널마다 독립적으로 계산)
입력변화에 영향을 적게 받음(강건하다)
특징 맵의 크기를 줄이고, 위치나 이동에 좀 더 강인한 성질을 갖는 특징을 추출할 수 있게됨
입력데이터가 조금 변해도 풀링 결과는 변하지 않음