인공지능 공부/딥러닝 기초

[딥러닝 기초] 인공신경망

부농쿼카 2023. 8. 24. 23:27
728x90

논문을 읽다보니, 딥러닝 기초가 많이 부족하다는 생각이 들어서 기초를 다시 공부하게 되었습니다. 해당 카테고리에 올라올 포스팅들은 딥러닝호형님의 「실전 인공지능으로 이어지는 딥러닝 개념 잡기」 인프런 강의와, 「밑바닥부터 시작하는 딥러닝」을 공부하며 작성하였음을 알려드립니다.

 

딥러닝은 모두 인공 신경망으로 이루어져 있습니다. 인공 신경망은 인간의 신경망을 본따 만든 신경망입니다. 

뇌세포 사진

인간의 신경망은 이렇게 뉴런들이 이어져 있습니다. 인공신경망도 이러한 뉴런들의 모임에서 영감을 받아 만들어졌습니다.

사람의 뇌처럼 이렇게 층을 구성하여 '인공신경망'을 구성합니다. 이 인공신경망은 수식으로도 나타낼 수 있습니다.

인공신경망 수식

인공신경망은 여기에 중요한 개념이 하나 더 추가됩니다. 바로 편향(bias)인데요,  편향은 정보 전달에 사용되는 파라미터값입니다. 사실 저도 공부하면서 항상 편향이 왜 있는건가 의문이 많이 있었습니다.

 

만약 이 편향이 없다면, input에 0이 들어올 때, output으로 0이 아닌 값이 나올 수 없다는 문제가 생깁니다. 그렇기 때문에 bias를 더해주는데요, 인공 신경망은 결국 선형의 그래프로 표현할 수 있기 때문에, 이 선형 그래프를 bias를 사용하여 평행이동시켜 데이터의 손실 없이도 output값으로 0이 아닌 값이 나올 수 있도록 합니다.

 

위에서 인공 신경망을 함수로 나타냈는데요, 이 함수는 행렬로 나타낼수도 있습니다. 우리가 사용하는 데이터, 특히 사진 데이터의 경우 행렬로 이루어져 있기 때문에 인공 신경망에서는 행렬 계산이 필수적입니다. 위 간단한 신경망을 행렬로 나타내 봅시다.

 

인공신경망 벡터

 

이번 포스팅에선 기본적인 인공신경망에 대해 배웠습니다. 인공신경망은 인간의 뉴런-시냅스 구조를 본따 만든 신경망으로. 각 노드들이 연결된 형태를 띱니다. 노드들은 함수로 나타내거나 행렬 형태로 나타내 계산합니다.

728x90