딥러닝은 머신러닝의 여러 방법론 중 하나이다.
딥러닝은 인공신경망에 기반하여 컴퓨터에게 사람의 사고방식을 가르치는 방법이다.
인공신경망: 생물학의 신경망에서 영감을 얻은 학습 알고리즘. 사람의 신경 시스템을 모방함.
인공 신경망으로 할 수 있는 분석은 크게 세 가지로 '회귀 분석 / 분류 / 패턴 파악'이 되겠다.
인공 신경망을 이용한 딥러닝 모델은 모델 스스로 데이터의 특성을 학습하며, 지도 학습, 비지도 학습 모두에 적용 가능하다.
현재 대표적인 딥러닝 기술 적용사례로는 '얼굴 인식 카메라, 기계 번역 모델, 알파고 등'이 있다.
인공 신경망 이전의 연구들로는 '얼굴 인식(눈 코 입 등을 인식), 숫자 인식 등'이 있는데, 이런 것들은 모두 '명시적 프로그래밍'을 사용하였다.
명시적 프로그래밍은 한계가 명확한데, 수 많은 경우의 상황에 전부 대처할 수 없다는 것이다. 대표적으로 자율주행자동차에 적용할 프로그래밍은 무한한 상황에서 완벽하게 대처할 수 있어야 한다.
퍼셉트론은 초기 형태의 신경망으로, 입력값을 받고, 가중치와 bias, 활성화 함수 등을 활용하여 하나의 값을 도출한다.
활성화 함수는 노이즈 제거, Classification능력의 향상 등의 역할을 한다.
# 간단한 퍼셉트론 코드
def Perceptron(x_1, x_2, w_1, w_2):
bias = -1
output = w_1*x_1 + w_2*x_2 + bias
y = 1 if output>0 else 0 # 삼항연산자 사용
return output, y
# 간단한 퍼셉트론 코드2
def main():
x = [1,2,3,4]
w = [0.2, 0.4, -0.2, 0.1]
b = -1
output, y = perceptron(w,x,b)
print('output: ', output)
print('y: ', y)
def perceptron(w, x, b):
output = sum([x_i*w_i for x_i, w_i in zip(x,w)}) + b # 리스트 컴프리헨션 사용
y - 1 if output>=1 else 0 # 삼항연산자 사용
return output, y
if __name__ == "__main__":
main()
'딥러닝' 카테고리의 다른 글
비선형 데이터 분류(XORgate) (0) | 2024.11.20 |
---|---|
퍼셉트론 선형분류기 (0) | 2024.11.19 |