d라이브러리









[특집] AI의 시력을 높여주는 '행렬

 

행렬로 완성한 ‘매의 눈’ 합성곱신경망

 

행렬의 개념과 연산법을 배웠으니 실제로 합성곱신경망이 어떻게 이미지 속 얼굴이나 물체 등을 인식하는지 알아볼게!

 

1 컴퓨터가 보는 이미지는 행렬의 모임


우리가 보는 이미지는 픽셀이라는 최소 단위로 이뤄져 있습니다. 픽셀은 매우 작은 사각형 모양의 점으로, 그 안에 색에 대한 정보를 가지고 있죠. 


예를 들어 흑백 이미지를 구성하는 픽셀들은 흰색부터 검은색까지의 명암을 나타내며 컴퓨터는 명암을 나타내는 숫자로 이미지를 인식합니다. 한편 컬러 이미지의 경우에는 주로 빨강, 초록, 파랑 각각의 명암을 나타내는 픽셀의 합으로 나타냅니다. 따라서 흑백 이미지와 달리 컬러 이미지는 행렬 3개의 합으로 이미지를 인식합니다.

 

 

2 합성곱신경망① 합성곱층


행렬로 나타낸 이미지의 정보를 필터를 이용해 이미지 인식에 필요한 특징을 추출하는 단계입니다. 필터는 주로 3×3 또는 4×4 크기를 갖는 행렬로, 이미지에서 색상이나 가장자리, 각도 등 찾고자 하는 특징에 따라 다른 값을 가집니다. 그리고 고른 필터는 이미지 곳곳을 돌아다니며 겹치는 숫자끼리는 아다마르 곱을 하고 그 결과로 나온 행렬의 성분을 모두 더해 새로운 행렬을 만듭니다.


만약 방탄소년단 진의 사진에서 가장자리의 정보를 얻고 싶다면, 이를 추출해낼 수 있는 필터값을 선정하고 아다마르곱을 진행하면 가장자리 정보가 뚜렷하게 남은 새로운 행렬을 만들 수 있습니다. 

 

 

2 합성곱신경망② 풀링층


풀링은 어떤 정보를 모으는 단계를 말합니다. 우리가 보는 이미지는 수천 개 이상의 픽셀을 가지기 때문에 앞서 합성곱층을 통해 얻은 결과 역시 많은 정보를 가지고 있죠. 따라서 효과적으로 원하는 정보만 추려내기 위해서 사진 정보의 크기를 줄일 수 있는 풀링 과정을 거칩니다. 이때 물체를 구별할 수 있는 특징 정보는 유지해야 하기 때문에 적절한 값을 골라낼 수 있는 다양한 방법을 씁니다. 보통 행렬 안에서 최댓값만 고르는 방법을 사용하며, 그밖에도 평균이나 최솟값을 구하는 경우도 있습니다.


합성곱층을 거쳐 새로 만들어진 행렬을 풀링하면 이미 지에서 찾은 가장자리 정보는 그대로 유지되면서 정보의 크기가 크게 줄어듭니다.

 

 

4 합성곱신경망③ 이미지 분류


앞의 과정을 거쳐 얻은 물체의 특징을 이용해 이미지를 분류하는 과정입니다. 합성곱층과 풀링층 단계를 여러번 거치면서 정보가 충분히 작아졌기 때문에, 이번에는 각각의 숫자를 자세히 들여다볼 수 있습니다. 따라서 모든 숫자를 일렬로 나열해 1차원의 벡터로 나타내고, 각 성분끼리 연산해서 물체를 구별할 수 있는 값을 얻습니다.


만약 앞에서 얻어낸 가장자리 정보로 사람인지 강아지인지 판단하고 싶다면, 사람 또는 강아지일 확률을 각각 구할 수 있는 연산을 실행합니다. 그 결과 강아지보다는 사람일 확률이 크다면 물체를 사람이라고 인식합니다.

 

 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2021년 02월 수학동아 정보

    🎓️ 진로 추천

    • 컴퓨터공학
    • 정보·통신공학
    • 전자공학
    이 기사를 읽은 분이 본
    다른 인기기사는?