본문 바로가기

VISION

[강연] 컴퓨터 비전과 딥러닝의 현재와 미래

by 서울대학교 한보형 교수님 / 카오스재단

 

비전 : 이미지나 비디오의 내용을 컴퓨터로 자동으로 이해하는 기술

딥러닝 : 기계학습의 한 종류로, 많은 층을 가지고 있는 신경망을 통한 학습방법. 다른 기계학습법과의 차이점은 데이터의 표현법을 학습한다는 점. 기존에는 컴퓨터가 이해할 수 있는 벡터나 행렬로 만들어주어야 학습을 시작하는데, 딥러닝은 데이터 자체를 주면 데이터로부터 무엇을 중요하게 봐야 하는지 알아채서 데이터를 표현하는 방법까지도 학습함.

 

CNN : 합성곱 신경망. 2차원의 데이터를 학습할 때 주로 사용. Convolutoin = filter. 이미지를 변환시키는 것.

 

RNN : 재귀적 신경망. 이미지보다는 시간에 따라 데이터가 달라지는 경우(비디오, 주식, 텍스트 등)에 사용. 신경망의 출력이 다시 입력으로 들어오기 때문에 재귀적이라고 함. 입력이 주어지면 입력 데이터의 길이만큼 네트워크를 펼쳐서 네트워크 형성.

 

1. OBJECT DETECTION. 느리고 어려운 작업을 딥러닝이 빠르고 쉽게 만들어줌.

 - YOLO: 이미지를 7X7로 나눈 다음 각 지역에서 물체가 있을 것 같은 박스를 나타냄. 박스마다 스코어를 매기고 그 중 점수가 높은 곳에 물체가 있다고 판단. CVPR 2018. CNN을 이용함.

 

2. 의미론적 이미지 분할

 - 여러 물체를 나눔. 자율주행에서 매우 중요. 

 - CNN을 이용. ENCODER와 DECODE가 대칭적으로 구조를 이루며, 이미지가 인코더를 지나면서 자세한 정보가 추출되고 디코더에서 클래스 LABEL을 추출. 디코더에서 초반에는 해상도는 낮지만 원래의 입력영상에 있는 구조를 파악하고 있고, 디코더의 마지막 단계에는 입력 이미지와 거의 동일한 해상도로 모양을 잡음.

 

3. 물체 추적

 - 첫 번째 프레임에서 오브젝트를 지정하면 그 다음 프레임부터 오브젝트의 위치를 찾아줌.

 - CNN 이용. 두 번째 프레임부터 추적이 시작되는데, 추적 대상이 되는 후보를 샘플링하고 오브젝트와 가장 유사한 물체를 선정. 그때 색상, 모양 등이 달라지기 때문에 계속 학습 데이터로 사용해서 CNN 업데이트 후 다음 프레임 진행.

 

4. 이미지에 대한 질의응답. VQA.

 - 이미지와 언어 데이터를 동시에 사용. 이미지의 내용에 대해 질문하면 AI가 대답하는 방식. 

 - 입력 이미지와 입력 문장을 받아서 각각 인코더에 넣어 다양한 정보를 추출하고 질문이 무슨 내용인지 이해. 질문은 RNN(LSTM)이 가장 많이 사용됨. 그래서 나온 벡터가 인공신경망에 들어가고 이미지와 질문이 fusion됨. 그 전체 정보가 분류기에 들어가서 정답을 아웃풋으로 냄. 서로 다른 입력임에도 인코딩을 제외하고는 같이 다루어진다는 게 흥미로운 점.

 

5. 이미지 캡셔닝. 이미지 내용 기술.

 - 이미지에 대한 캡션을 만들어줌. 장면을 묘사해주는 것.

 - 기계 번역 모델과 거의 유사한 모델. 기계번역은 RNN으로 하나의 언어를 다른 언어로 변환해주는데, 인코더와 디코더가 연결된 구조를 가진다. 이미지는 RNN이 아닌 CNN으로 인코딩을 하고 RNN에 들어감. 그러면 RNN의 매 스텝마다 토큰을 생성하고, 그 토큰이 다시 RNN으로 들어가 단어를 생성, 다음 단어 생성하기를 반복하고 END 토큰이 나오면 문장 생성이 종료됨. 

 

6. 이미지 생성. GAN.

 - generator(생성 신경망), discriminator(검증 신경망)

 - 랜덤 노이즈를 인풋으로 주면 생성망이 이미지를 생성. 검증망은 그 이미지가 real 이미지인지 generator가 만들어낸 이미지인지를 판단함. 그래서 gen은 최대한 진짜 같은 이미지를 만들려고 하고, dis는 가짜를 구별하려고 하고, 경쟁하면서 학습을 진행함. 가장 큰 문제는 두 가지가 경쟁을 맞춰가는 게 어렵다는 점. 한쪽이 잘하면 다른 한쪽은 학습이 어려움. 매우 고해상도의 진짜 같은 이미지를 만들어줌.

 - 조건부 이미지 생성

 

7. 화질 개선 및 영상처리

 - 인풋 이미지를 네트워크가 학습해서 우리가 원하는 방향의 이미지로 변환해주는 것.

 - 흑백 이미지를 컬러 이미지로 변환. 실용적이고 성능이 좋을 수 있는 이유는 학습 데이터 만드는 게 쉬움. 컬러 이미지를 넣어서 흑백을 얻어내는 게 쉬우니까 흑백을 넣어서 컬러로 바꾸는 데이터도 얻기 쉬움.

 - 이미지 노이즈 제거. 

 - video interpolation. 낮은 프레임을 더 촘촘하게 만들어 높은 프레임으로 만들어주는 것. 프레임을 더 넣을 때 정답이 무엇인지보다는 사람이 느끼기에 자연스럽기만 하면 돼서 쓰임새가 더 있음.

 

8. 강화 학습.

 - 동작을 수행했을 때에 피드백을 받아서 학습하는 방법.

 - atari게임. 벽돌깨기. 처음에는 금방 죽는데 점수를 피드백으로 두고 점수를 많이 받는 방향으로 학습을 진행.

 - 알파제로. 알파고는 사람이 둔 기보를 가지고 학습하는데, 알파제로는 바둑이나 체스 룰만 가르쳐주고 학습하도록 해서 사람보다 좋은 성능을 냄.

 - 알파스타. 스타크래프트의 세 가지 종족과 종족별 유닛, 특성.. 그리고 제한된 부분만 볼 수 있기 때문에 보이지 않는 곳에서 무슨 일이 일어나는지까지 추정해야 함.

 

9. 자율주행

 

 

 

컴퓨터 비전의 한계.

1. 학습 오류.

 - 0과 9를 구분하는 문제에서, 0과 9가 아니라 배경색 등 더 쉬운 방법을 학습할 수 있음. 그러면 나중에 다른 종류의 데이터가 들어올 경우 틀린 결과를 냄. 그래서 데이터를 아주 잘 만들지 않으면 신경망이 우리가 원하는 방향이 아니라 자기가 학습하기 가장 쉬운 방향으로 학습한다. 원하는 방향으로 학습할 수 있도록 가이드라인을 잘 세워야겠다

 

2. 학습 데이터의 문제. 정답의 역습.

 - 정답이 틀림. 전혀 렌즈캡처럼 보이지 않는데 label이 렌즈캡인 경우, 카메라, 연필깎이, 스위치 등으로 예측을 하는데 그게 더 그럴듯한데도 틀린 정답으로 학습해야 하는 문제. 

 - 정답이 모호함. 배의 영역을 돛대까지 지정하냐, 메인 프레임만 타이트하게 지정하냐가 있는데 뭐가 맞다 틀리다를 말하기 어려움. 이로 인해 학습된 결과가 달라질 수 있음.

 - 실제로 구글의 데이터셋 내 이미지를 보면 종류별로 분포가 다름. 꽃 데이터가 훨씬 많음. 식기세척기나 팩스 등은 매우 적다. 이를 고르게 학습하지 않기 때문에 특정 물체들에 대해서는 학습이 잘 되지 않음.

 

3. 인종과 성별에 대한 bias

 - 사람의 얼굴을 보고 얼마나 범죄를 저지를 가능성이 큰지 예측하는 시스템 - 백인은 위험성이 낮고, 흑인은 위험성이 크다고 나옴.

 - 요리하는 이미지에는 보통 여자가 나오기 때문에 남자여도 애매하면 여자라고 하는 것이 모델에게는 정답을 맞히기 유리하기 때문에 발생하는 문제.

 

4. 이미지 내용 기술에서의 bias

 - 물난리가 나서 안타까운 상황인데 인공지능은 도로에 그냥 주차되어있다고 함. 틀린 말은 아니지만 사람이 즉각적으로 느끼는 내용과 차이가 있음. 일상적인 상황이 아니면 캡션을 만들기 어렵다. 학습할 때 그러한 데이터를 본 적이 없기 때문. 전혀 본 적이 없는 경우 자기가 본 가장 흔한 답을 냄. 모르면 확률이 높은 답을 내는 것.

 

5. 설명 불가능함.

 - 정답은 잘 맞히지만 왜 정답을 잘 맞히는지를 알 수 없음. black box.

 

6. 공격에 취약함.

 - 이미지에 노이즈를 더하면 인공지능은 해당 이미지를 잘 해독하지 못함. 또는 아무 패치를 붙여도 결과가 확 바뀜.

 - 대부분의 이미지는 촘촘하게 공간상에 존재하는데, 이런 노이즈가 추가되면 경계를 넘어가버려서 공격에 취약해짐.

 

7. 개인정보 문제. 

 - 많은 양의 데이터가 필요한데, 클라우드나 이메일에 많이 있음. 그런 데이터가 학습에 사용될 위험성에 노출되어있다.

 

8. 컴퓨터 비전의 부작용

 - 기술이 워낙 발전하다 보니 알고리즘이 군사용으로 사용되고 개인정보 이슈가 발생.

 

9. 딥 페이크

 - 자연스럽게 사람 얼굴을 바꿔 칠 수 있음. 포르노물 생성됨.

 - 김주하 ai 아나운서.

 

10. 법적 윤리적 문제

 - 자율주행 등이 피할 수 없는 문제를 발견했을 때 어떻게 판단할 것인가? 건물에 들이받아서 주인이 피해를 당해야 하는지 방향을 틀어 다른 사람을 쳐야 하는지?

 

11. 지구온난화

 - 하나의 딥러닝 모델을 학습하는데 굉장히 많은 이산화탄소가 배출됨. 차 다섯 대가 평생 내보내는 양만큼.

 - gpu 사용이 엄청 늘어남 - 수요가 늘어나니까 공급도 늘어나고 전기를 많이 씀.

 

 

 

딥러닝 알고리즘은 패턴을 파악하는데 익숙함. ai는 사람이 미처 찾지 못했던 플레이가 가능.

딥러닝은 놀라운 성과를 이루었고 앞으로도 발전 가능성이 높음. 다양한 산업에 적용될 것.

창의적 아이디어의 등장으로 짧은 기간에 많은 발전을 이룰 수도 있음. 그러나 아직 해결해야 할 문제가 많이 남아있음. 

overconfident - 모르는 데이터도 모른다고 하지 않고 내가 아는 것 중에 어떤 것일 확률이 높다고 대답함.

저전력으로 학습하는 연구도 진행되고 있음 / 모델 압축.

 

 

M] 정답의 역습이나 bias에 대한 부분이 재미있었다. 정확도가 97%까지 올라가고 앞으로는 3%를 끌어올리기 위해 매달려야 하는건지 생각했었는데, 사람의 생각이 누구나 다르고 100% 똑같은 판단을 하는 사람이 없듯이 정답을 정해놓고 100에 가까운 답을 내게 하는 것 보다는 여러 예외상황이나 어려운 케이스에서 사람이 생각하는 것과 비슷한 수준으로 판단하게 하는 것도 앞으로 남은 큰 과제이고 재밌을 것 같다는 생각이 들었다. 아예 어려운 테스트 케이스로만 구성하면 쉬운 케이스는 어떻게 판단할까?

 

 

'VISION' 카테고리의 다른 글

ideas on AI  (0) 2020.12.29
시각에 대한 생각들  (0) 2020.11.28
YOLO object detection for autonomous driving  (0) 2020.11.03
[논문] Video object segmentation using space-time memory networks  (0) 2020.10.29
Image style transfer  (0) 2020.10.05