일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Drawable
- 이것이코딩테스트다
- mipmap
- 코틀린 코딩 컨벤션
- 플로이드 워셜
- 데이터베이스
- 브로드캐스트 리시버
- 다익스트라
- 람다식 인라인
- 액티비티
- 최단경로
- 코틀린
- 콘텐츠 프로바이더
- lifecycle
- 코틀린인액션
- 커스텀뷰
- 패스트캠퍼스
- CustomView
- 해상도
- 안드로이드
- Kotlin-In-Action
- 백준11404번
- 백준1753번
- 우테코 프리코스
- 인텐트
- DP
- 생명주기
- 매니페스트
- 컴퓨터과학
- 알고리즘
- Today
- Total
생각정리
인공지능-퍼셉트론 모델 본문
퍼셉트론은 프랑크 로젠블라트가 1957년에 고안한 알고리즘.
퍼셉트론은 신경망(딥러닝)의 기원이 되는 알고리즘이다.
퍼셉트론(=인공뉴런 or 단순 퍼셉트론)의 기본 개념: 다수의 신호를 입력받아 하나의 신호를 출력하는 것.
여기서 퍼셉트론의 신호는 0 혹은 1임.
위 그림에서 각 원을 뉴런이라고 부름. 해당 그림은 2개의 입력을 받은 퍼셉트론의 예임.
입력 신호(x1,x2)로 0 혹은 1이 들어오면 각각 가중치(w1,w2)가 곱해져서 임계값 쎄타를 기준으로
하나의 출력 신호인 y가 나옴.
즉, ∑(입력신호와 가중치의 곱) == w1*x1 + w2*x2
그리고 해당 출력 신호값인 y는 임계값인 쎄타를 넘는지 안넘는지를 기준으로 y출력 신호가 0과 1중에서 정해진다.
여기서 중요한 점은 가중치의 값이 클수록 해당 신호(x)가 다른 신호들보다 더 중요한 신호임을 의미한다는 것.
그럼 이런 퍼셉트론으로 무엇을 한다는 것일까?
이 퍼셉트론이 모이면 논리 회로를 구성할 수 있다.
AND게이트
AND게이트는 입력 신호가 모두 1이여야 출력신호1을 내보낸다.
즉, w1*x1+w2*x2의 값과 임계값 쎄타를 고려해서 x1과 x2가 모두 1일때에 y가 1이 나오도록 (x1,x2,쎄타)의 값을 정해주면 된다.
조합은 무수히 많을 수 있지만, 여기서는 (0.5,0.5,0.8)로 잡아보겠습니다.
그렇다면 NAND 게이트는 만들 수 있을까?
w1,w2,임계값을 적절히 조절하면 당연히 만들 수 있습니다.
예를 들어서 (w1,w2,임계값 쎄타)를 (-0.5,-0.5,-0.7)로 잡는다면, 되는 것을 알 수 있습니다.
중요) NAND게이트를 만들 수 있다면, 이 세상에 존재하는 모든 논리회로식을 만들 수 있다는 것을 의미합니다.
이게 바로 퍼셉트론이 중요한 이유입니다.
여기서는 우리 인간이 직접 진리표라는 학습데이터를 보고 매개변수 값을 정해주었지만, 기계학습을 적용시키면 이 과정을 컴퓨터가 자동으로 하도록 할 수 있습니다.
그렇다면 사람은 무엇을 하는가?
=> 퍼셉트론의 구조를 고민하고 학습할 데이터를 주는 역할을 합니다.
다음에는 퍼셉트론을 직접 코드로 구현해보겠습니다.
전공 수업 내용을 토대로 작성했으며 참고한 자료는 다음과 같습니다.
참고자료)
밑바닥부터 시작하는 딥러닝, 사이토 고키, 한빛미디어
처음작성하는 글이라서 문제가 있다면 말씀해주시면 감사하겠습니다. 확인하고 반영하겠습니다.
'인공지능' 카테고리의 다른 글
신경망 학습 (0) | 2022.09.28 |
---|---|
인공지능 - 신경망 (1) | 2022.09.23 |
인공지능-퍼셉트론을 파이썬으로 구현해보고 다층 퍼셉트론 공부하기 (0) | 2022.09.23 |