" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); '인공지능' 카테고리의 글 목록 :: Record for Success

출처: IT위키

 

| 퍼셉트론이 뭘까?

대학교에서 인공지능개론 수업을 들을 때, 퍼셉트론을 뉴런이라고 했다가, 알고리즘이라고 했다가 이런 식으로 설명하시는걸 그대로 필기해서 나중에 정말 헷갈렸던 경험이 있다.

 

퍼셉트론은 Input(x)에서부터 weight(w)를 바탕으로 계산된 output(y_hat)을 도출하는 일련의 수학적인 과정 전체를 의미한다.

이 연산 과정은 인간 뇌 속에 있는 뉴런의 동작 방식과 유사하기 때문에 artificial neuron이라고도 한다고..

(뇌의 뉴런도 시냅스에 입력된 정보를 전기신호(출력형태)로 축삭돌기를 통해 보내는 어쩌구..)

 

이런 저런 아티클들을 찾아보니, 뉴런과 퍼셉트론에 대한 이해는 아래와 같이 여러 갈래로 정리하고 있었다.

 

1. 퍼셉트론과 뉴런의 차이는 artifical 이냐 biological 이냐로 본다.

2. 퍼셉트론은 딥러닝 동작 방식의 기초가 되는 인풋->아웃풋의 일련의 과정이며,

    인풋과 아웃풋 그 사이 중간의 연산을 통해 활성화 되는 하나의 셀을 뉴런이라고 한다.

대충 이런 느낌

 

### Whole step = perceptron

def call_me_perceptron(input=None):
    # 1.inputs
    if not input:
    	input = np.array([1, 2, 3])

    # 2.weights
    w = np.array([.5, .5, .5])

    # 3.bias 
    bias = -.7

    # 4.calculate output
    output = np.sum(w*input)+b
    
    return output

 

SLP (Single Layer Perceptron) 는 그림과 똑같기 때문에 뉴런? 이랑 아웃풋이랑 무슨 차이지.. 하는 느낌이 강하게 들지만, MLP (Multiple Layer Perceptron) 에서는 확실히 여러 레이어가 존재하기 때문에 뉴런의 존재를 더욱 뚜렷하게 느낄 수 있다.

 

SLP, 즉 하나(한번?)의 퍼셉트론으로는 XOR (두 입력 값의 이진 분류가 다르면 1, 같으면 0 반환) 의 문제: 선형으로 풀 수 없는 복잡한 문제는 풀 수 없기에, MLP의 개념이 등장했고 이것이 딥러닝 발전을 이끌기 시작했다.

 

SLP는 위에 작성한 간단한 코드처럼 복잡한 라이브러리 연산 없이도 구현할 수 있으므로 코드는 생략한다.

※참고: 파이썬으로 시작하는 머신러닝+딥러닝

 

 

인공지능(AI, Artificial Intelligence)이란, 기계가 사람의 학습 형태를 모방하여 지능을 가진 것 처럼 행동하도록 만든 것을 의미한다.

최근 해당 분야가 각광받기 시작하면서 머신러닝, 딥러닝 등의 용어를 쉽게 접할 수 있는데 결국은 AI안에 포함된 개념이다.

 

출처: 지디넷 코리아

 

 

머신러닝은 인공지능 객체가 데이터에 대한 규칙 또는 정보를 학습할 수 있도록 설계하는 알고리즘이며, 딥러닝은 이런 머신러닝 기법의 일종으로 신경망 알고리즘을 적용해 인간과 유사하게 판단하는 프로그램을 구현한 기계 학습 방법이다.

 

인공지능이라는 개념이 등장한건 17~18세기 경이고, 직접 구현되기 시작한건 컴퓨터가 등장한 후 1900년대 중반부터이지만, 정보 처리 방법과 당시 컴퓨터의 성능의 한계로 크게 발전하지 못했다.

 

그러다 파라미터의 학습 과정을 역으로 전파하며 파라미터 값을 조정하는 역전파(Backpropagation) 알고리즘과 퍼셉트론(Perceptron)이 등장하면서 딥러닝 기반의 인공지능 개념이 성장하기 시작했다.

 

딥러닝에 대한 간단한 소개

출처: SK하이닉스 뉴스룸

 

딥러닝 모델은 단순한 퍼셉트론의 배치와 순전파 과정으로만 학습되는 것이 아닌, 상기 사진에서 확인할 수 있는 것 처럼 여러 개의 퍼셉트론과 여러 은닉층(Hidden Layer)를 추가함으로써 복잡한 데이터에서 학습하고 문제를 해결할 수 있다.

 

은닉층(Hidden Layer)란, 인풋에서 특정 계산식을 통해 도출된 결과를 임시로 저장하는 층으로 생각할 수 있고,

특정 계산식은 구현하고자 하는 모델에 따라 달라질 수 있고, 계산식에 포함된 파라미터값을 조정하여 가장 정답 레이블과 가까운 답을 찾아가는 과정이 딥러닝 학습 과정이라고 볼 수 있다.

 

계산식에 포함된 파라미터값을 조정하는 과정은 앞서 언급했던 역전파 알고리즘을 통해 Loss 값이 최소가 되도록 찾아가는 과정이다.

 

다양한 딥러닝 모델들의 가장 기초적인 부분부터 공부를 하고 블로그에 기재하고 있으며, 최종 목표인 멀티모달까지의 과정을 최대한 자세히 이해할 수 있도록 노력할 예정이다.

+ Recent posts