Python으로 배우는 AI 개념

Python으로 배우는 뉴런과 활성화 함수

인공 뉴런은 아주 작은 함수입니다. 각 입력에 가중치를 곱하고 바이어스를 더한 뒤, 그 결과를 활성화 함수에 통과시켜 얼마나 강하게 "발화"할지 정합니다.

쉬운 말로 이해하는 개념

인공 뉴런은 아주 작은 함수입니다. 각 입력에 가중치를 곱하고 바이어스를 더한 뒤, 그 결과를 활성화 함수에 통과시켜 얼마나 강하게 "발화"할지 정합니다.

순수 Python으로 인공 뉴런을 만듭니다. 입력의 가중합에 바이어스를 더하고 sigmoid나 ReLU에 통과시킵니다.

핵심 아이디어

  • 가중치는 각 입력이 얼마나 중요한지 나타내고, 바이어스는 결과를 위아래로 이동시킵니다.
  • 활성화 함수가 없으면 뉴런을 여러 층 쌓아도 직선(선형) 모델밖에 되지 않습니다.
  • sigmoid는 0과 1 사이 값을 출력하므로 확률에 잘 맞습니다.
  • ReLU는 계산이 빠르며 현대 신경망의 은닉층에서 흔히 쓰입니다.

언제 사용하나요?

  • 신경망과 AI 라이브러리 내부에서 무슨 일이 일어나는지 이해합니다.
  • 해당 챌린지에서 직접 구현하기 전에 아이디어를 익힙니다.
  • 머신러닝 강의, 면접, 프로젝트를 준비합니다.

직접 움직여 보기

슬라이더로 입력, 가중치, 바이어스를 바꿔 보세요. 가중합 z가 sigmoid와 ReLU 곡선 위에서 움직이는 모습을 볼 수 있습니다.

예제 코드

코드 실행 →
main.py
import math

# A neuron multiplies each input by a weight, adds them up and adds a bias.
def dot(a, b):
    return sum(x * y for x, y in zip(a, b))

def sigmoid(z):
    return 1 / (1 + math.exp(-z))   # squashes any number into (0, 1)

def relu(z):
    return max(0.0, z)              # keeps positives, turns negatives into 0

inputs = [0.5, -1.0, 2.0]
weights = [0.8, 0.2, -0.5]
bias = 0.1

z = dot(inputs, weights) + bias      # weighted sum
print("weighted sum z =", round(z, 3))
print("sigmoid(z) =", round(sigmoid(z), 3))
print("relu(z) =", relu(z))

# The activation decides how strongly the neuron "fires".
for value in [-2, 0, 2]:
    print(f"z={value:>2}  sigmoid={sigmoid(value):.3f}  relu={relu(value)}")

예상 출력

weighted sum z = -0.7
sigmoid(z) = 0.332
relu(z) = 0.0
z=-2  sigmoid=0.119  relu=0.0
z= 0  sigmoid=0.500  relu=0.0
z= 2  sigmoid=0.881  relu=2

작동 원리

dot()은 가중합 z를 계산합니다. sigmoid는 z를 0과 1 사이 값으로 압축하고, ReLU는 양수는 그대로 두고 음수는 0으로 바꿉니다. 반복문은 각 활성화 함수가 음수, 0, 양수 입력에 어떻게 반응하는지 보여 줍니다.

값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.

연습 문제

입력값과 경계 조건을 바꾸고 더 큰 데이터에서도 동작을 확인하세요.

  1. 입력이나 가중치를 바꾸고 실행하기 전에 출력을 예상해 보세요.
  2. 중간 값을 출력해 계산의 각 단계를 따라가 보세요.
  3. 아래에 연결된 챌린지를 풀며 아이디어를 직접 구현해 보세요.
Python IDE에서 실행 →

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지