[Tensorflow] 0. 신경망 네트워크의 구성

2023. 1. 4. 17:06·AI/Deep Learning

다들 텐서플로 설치는 잘 진행되셨나요? 그렇다면 반갑습니다! 신경망 네트워크를 공부하기 위한 한걸음을 내딛었군요! 

시작이 반이라는 말처럼 저와 함께 열심히 공부해서 해당 분야의 전문가가 되어 봅시다!

 

신경망 네트워크는 사실 기존의 프로그래밍 방식과는 많은 차이점을 가지고 있습니다.

신경망 네트워크가 정의되기 전에는 주로 프로그램은 프로그래머(개발자)가 알고리즘을 작성하여 입력이 있으면 알고리즘대로 결과(출력)이 나오는 방식이였죠! 쉽게 예를들면 게임에서 키보드의 방향키를 누르면 알고리즘 대로 해당 방향으로 캐릭터가 이동하는 것 처럼요.

하지만 신경망 네트워크는 기존의 전통적인 프로그래밍 방식과는 다르게 정답과 해답을 입력하면 중간에 어떻게 처리될지를 담당하는 규칙을 출력합니다. 신기하죠?

 

신경망 네트워크를 살펴보기전에 우리의 두뇌의 구조에 대해 살펴봐야 하는데요! 왜 갑자기 두뇌를 본다는거야 이렇게 생각하실 수 있지만 신경망 네트워크는 인간의 두뇌에서 아이디어를 착안하였기 때문에 알아보는것이 이해하는데 도움이 되더라고요! 생물시간에 배운것처럼 인간의 두뇌는 아래 그림과 같이 신경세포로 구성되어 있는데요. 신경세포는 수상돌기를 통해 다른 신경세포(뉴런)으로부터 정보를 받아 축삭돌기로 이동하여 시냅스를 통해 다른 뉴런으로 신호를 내보내는 신경세포입니다. 인간의 두뇌는 신경세포 1000억개 이상으로 구성되어 있다고 알려져 있고 시냅스는 100조개 이상 있다고하죠...! 신기한 점은 입력받은 정보를 그대로 출력신호로 전달하는 것이 아닌 특정 한계점(Threshold)를 넘어서야 전달되는 특징을 가지고 있습니다.

 

신경세포의 구조 (참고 https://en.wikipedia.org/wiki/Neuron)

 

인공신경망 모델은 앞서 설명한 신경세포와 같은 방식으로 구현되어 있어서 입력값을 주면 이동하여 출력값을 내보내는 구조를 가지고 있어요! 따라서 인공신경망에서도 뉴런과 같은 용어를 사용하는데요. 여기서는 간단하게 어떻게 이루어져 있는지 알아봅시다!

 

뉴런은 입력, 가중치, 편향, 활성화함수, 출력으로 구성되며 아래 사진과 같습니다.

$(x_1, ..., x_n)$은 입력값으로 각 가중치인 $w$와 선형결합후 편향을 더하여 $\sum_{i=1}^{n} (w_i*x_i) + b$를 전달합니다.

이때 활성화함수에서는 앞서 전달받은 값에 특정 함수를 취한 값을 출력값으로 내보내는 역할을 합니다.

 

뉴런의 구조 (https://towardsdatascience.com/the-basics-of-neural-networks-neural-network-series-part-1-4419e343b2b)

 

참고로 활성화함수로는 ReLU, Softmax, 시그모이드(Sigmoid)와 같은 함수들이 존재합니다.

그 중 시그모이드(Sigmoid)는 0~1사이의 값을 출력하며(확률로 취급하면 안됩니다!), ReLU는 [0, ∞]의 값을 출력합니다.

보통 신경망이 깊어질수록 시그모이드 보다는 ReLU 함수를 사용하는게 효과적이라고 합니다.

아래 간단한 코드를 사용해 각 함수를 그래프로 나타낼 수 있습니다.

 

 

인공신경망은 이러한 뉴런들이 여러개 결합되어 있는 네트워크 형태로 아래와 같은 구조를 보이며 입력층, 히든층, 출력층으로 구성되며 각 층은 뉴런이 여러개 모인것을 칭하며 레이어(Layer)라고 부르기도 합니다. 또한 그림에서는 1개의 층이지만 구성에 따라 히든층은 2개 이상의 층으로 구성될 수 있습니다.

 

https://ko.wikipedia.org/wiki/%EC%9D%B8%EA%B3%B5_%EC%8B%A0%EA%B2%BD%EB%A7%9D

'AI > Deep Learning' 카테고리의 다른 글

[Tensorflow] 3. 분류 (Classification)  (0) 2023.01.07
[Tensorflow] 2-1 Regression with Boston housing datasets  (0) 2023.01.07
[Tensorflow] 2. 회귀(Regression)  (0) 2023.01.05
[Tensorflow] 1. 논리연산을 위한 신경망 네트워크 생성  (0) 2023.01.04
[Tensorflow] M1 MacOS 텐서플로 설치  (0) 2022.12.16
'AI/Deep Learning' 카테고리의 다른 글
  • [Tensorflow] 2-1 Regression with Boston housing datasets
  • [Tensorflow] 2. 회귀(Regression)
  • [Tensorflow] 1. 논리연산을 위한 신경망 네트워크 생성
  • [Tensorflow] M1 MacOS 텐서플로 설치
임파카
임파카
[ML & Statistics] 모바일 버전에서 수식 오류가 있어 PC 환경에서 접속하는 것을 권장합니다.
  • 임파카
    무기의 스탯(Stat)
    임파카
  • 전체
    오늘
    어제
    • Study (149)
      • Data Science (44)
        • Modeling (18)
        • Manipulation (21)
        • Visualization (4)
      • Statistics (59)
        • Mathmetical Statistics (53)
        • Categorical DA (1)
      • Web Programming (17)
      • AI (26)
        • Machine Learning (16)
        • Deep Learning (10)
      • 활동 및 프로젝트 (3)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
임파카
[Tensorflow] 0. 신경망 네트워크의 구성
상단으로

티스토리툴바