AI · 기계학습 · 신경망 같은 단어를 들을 기회가 많아졌습니다만, 실제로 이것들이 어떤 것인지를 이해하는 것은 어렵습니다. 이에 임상심리사이자 프로그램 개발도 겸하는 Yulia Gavrilova 씨가 화상 · 동영상 인식에서 널리 사용되고 있는 회선신경망(CNN)의 구조에 대해 알기 쉽게 설명하고 있습니다.
What Are Convolutional Neural Networks?
https://serokell.io/blog/introduction-to-convolutional-neural-networks
CNN은 신경망의 하나로 이미지인식 및 컴퓨터비전 관련 작업과 밀접하게 관련있습니다. MRI 진단 및 농업용 토지 분류와 같은 이미지 분류 작업 외에 스마트폰에서도 친숙한 물체 검출에 이용되고 있습니다.
CNN을 이해하기 전에 먼저 신경망의 구조를 이해할 필요가 있습니다. 신경망은 영어로 'Neural Network'로 Neural(신경계)이라는 말이 사용되고 있는 것에서 알 수 있듯이, 뇌의 신경세포(뉴런)를 모방한 노드로 구성되어 있습니다. 신경세포가 서로 긴밀하게 연결되어 있는 것처럼 노드도 서로 연결되어 있습니다.
뉴런은 일반적으로 층의 형태로 구성됩니다. 신경망의 노드도 마찬가지인데, 예를 들면 피드 포워드 신경망(FNN)의 경우 '입력층'에서 들어온 정보가 여러 '중간층'을 거쳐 '출력층'으로 향하는 형태로 단일 방향으로 신호가 전달됩니다.
시스템의 모든 노드는 이전 층과 이후 층의 노드에 연결되어 있으며, 전 층에서 정보를 수신하고 그 정보에 어떠한 처리를 한 후 다음 층에 정보를 보냅니다.
이 때 모든 연결에는 '가중치'가 할당됩니다. 다음 그림에서는 중간층의 맨 위에 있는 노드가 '0.8'과 '0.2'이라는 정보를 받고 있습니다만, 이러한 정보에 계수 '0.73'을 곱합니다. 이와 같이 다른 노드에서 정보를 받을 때 곱한 숫자를 '가중치'라고 합니다.
일반적으로 노드의 입력값은 여러 가지가 존재해 가중치도 입력값만큼 존재합니다.
또 입력을 다음 층에 전달할지 여부도 각 노드에서 결정되며 임계값을 초과하는 노드의 값만 다음 층에 데이터가 전달되는 경우도 있다고 합니다. 신경망이 처음 훈련될 때는 모든 가중치와 임계값은 임의로 할당되어 있지만, 그 후 같은 라벨의 훈련데이터가 입력되었을 때에는 동일한 출력이 되도록 가중치와 임계값을 조정합니다. 이것을 Backpropagation이라고 합니다.
보통의 신경망은 너무 큰 데이터를 처리할 수 없습니다. 예를 들어, 컴퓨터비전 교육은 'CIFAR'이라는 데이터세트가 사용되고 있지만, 이것은 32 × 32픽셀이고 3가지의 색상채널을 가진 이미지를 포함합니다. 즉, 이 경우 신경망은 32 × 32 × 3 = 3072이라는 가중치 부여를 할 수 있습니다. 그러나 이미지가 300 × 300픽셀이면 27만 개의 가중치 부여가 필요해 교육에 엄청난 계산능력이 필요할뿐만 아니라 매개변수의 수가 많기 때문에 데이터세트를 기억하는 것만이 되고, 과잉적합이 발생하기 쉽다는 것.
한편, CNN은 '여러 정보를 통합한다'라는 수학적 개념 · 회선을 사용함으로써 계산에 걸리는 부하를 가볍게 합니다. 다음 그림은 회선의 처리를 나타내며, 5 × 5매스로 구성된 왼쪽에서 오른쪽 그림과 같이 3 × 3매스 특징을 추출합니다. 이러한 특징의 추출이 CNN의 회선처리입니다.
특징추출은 커널이라는 필터가 사용됩니다. 왼쪽 그림의 진한 녹색으로 칠해진 9매스의 특징을 추출되어 오른쪽 그림의 '2'라고 적힌 핑크색 부분이 기록되어 있습니다. 그리고 '5 × 5매스 중 3 × 3매스의 특징이 1매스로 표현한다'는 작업이 필터를 슬라이드시키면서, 다른 매스에서도 반복적으로 이루어집니다.
CNN의 구조는 기본적으로 '회선층', '풀링층', '전체 결합층'이라는 3가지로 구성됩니다. 회선층이 상기와 같은 처리를 통해 픽셀의 특징을 인식하고 풀링층은 추출된 특징을 추상화하며 전체 결합층이 특징을 예측에 이용합니다.
회선을 실행하면 대량의 데이터가 생성되므로 신경망의 훈련이 어렵습니다. 이 때문에 풀링층에서 데이터 압축을 할 필요가 있습니다.
CNN은 보통의 신경망보다 계산효율이 높고 다른 신경망보다 정확도가 높아진다는 장점이 있습니다. 한편, 입력데이터를 조작해 잘못된 출력을 유도하는 '적대적 공격'에 취약하다는 단점이 있습니다. 이로 인해 범죄자가 CNN 기반의 얼굴인식 시스템을 속여 보안시스템을 통과할 가능성이 있습니다. 또 대량의 학습데이터를 수집 · 전처리가 필요해 기술의 보급을 방해합니다.
'IT' 카테고리의 다른 글
Samsung, 스마트워치 'Galaxy Watch 4/Watch4 Classic'을 발표 (0) | 2021.08.14 |
---|---|
역대 최고액인 총 6000억 원의 암호화자산이 해킹 당해 (0) | 2021.08.13 |
Xiaomi가 Spot 같은 애완동물 로봇 'CyberDog'와 신형 스마트폰 'Xiaomi MIX 4'를 발표 (0) | 2021.08.11 |
랜섬웨어 개발자가 말하는 사이버범죄의 현황과 공격대상의 선택방법 (0) | 2021.08.09 |
얼굴인증의 40% 이상을 단 9가지의 얼굴로 돌파하는 마스터키와 같은 '마스터 페이스'를 만드는 AI가 등장 (0) | 2021.08.06 |
YouTube에서 크리에이터가 돈을 벌기 위한 10가지 기능 정리 (0) | 2021.08.05 |
Amazon, 1만 포인트에 대한 대가로 사용자의 '손바닥' 정보를 수집 (0) | 2021.08.04 |
여성 기자가 "정부가 스파이웨어 Pegasus로 해킹하여 개인적 사진을 유포했다"며 소송을 제기 (0) | 2021.08.04 |