해시 태그
lADsP 완전 정복l 인공신경망 분석_1 TBsMRuHFgfI
00:05 : 인공신경망은 분류 분석 문제를 해결하는 데 상당히 높은 적중률을 보여주는 데이터 마이닝 기법 중에 하나입니다.
00:15 : 인공신경망은 인간의 세포를 통한 학습 방법에서 아이디어를 얻어서, 이를 디지털 네트워크 모형으로 구현하게 된 방법이라고 생각을 하시면 돼요.
00:27 : 그래서 이런 모형은 비선형성 분류 문제를 분류할 수 없어서 처음에 한 개의 부딪혔다가
00:35 : 다계층 퍼셉트론을 활용한 역전파 알고리즘이 개발되면서 급속히 발전하게 된 분석 방법 중에 하나입니다.
00:44 : 그래서 최근에 말씀을 많이 들으셨을 거예요.
00:47 : 딥러닝이란 이야기 많이 들었을 텐데, 딥러닝의 기초가 되는 게 인공신경망이라고 기억을 하시면 됩니다.
00:54 : 인공신경망에 대해서 한번 간단하게 개념을 이해하고. 그다음에 그걸 통해서 나온 딥러닝이 무엇인지에 대해서도 간단하게 알고
01:05 : 그다음에 인공신경망의 구조라든지 이런 것들을 한번 학습을 해 볼 수 있도록 하겠습니다.
01:11 : 자 첫 번째로 나오는 이 화면을 보시면 인공신경망은 인간의 놀라운 인식력과 판단력은
01:18 : 단순한 기능을 가진 몇 개의 세포 조합에 의해 행해지는 거라고 적혀 있어요.
01:26 : 그래서 사람들이 생각을 해보는 겁니다.
01:29 : 단순한 기능을 가진 몇 개 세포들이 있다고 칩시다.
01:33 : 이런 세포들의 조합을 통해서 하나의 결과를 나타낸다고 이해를 할 수 있었습니다.
01:39 : 그래서 이런 인간의 신경세포 조직을 임의로 만들어낼 수 없을까. 라는 생각을 하게 됐어요.
01:47 : 그래서 그 생각에 착안을 해서 만들어진 게 인공신경망이라고 기억을 하시면 됩니다.
01:55 : 그래서 인공신경망에 대한 연구가 이루어지기 시작을 했어요.
01:59 : 1943년부터 시작을 했습니다.
02:02 : 대한민국에서는 이때는 광복과, 그 이후에 국가가 대한민국이 세워지는 그런 기간이었는데
02:12 : 인공신경망 같은 경우는 해외에서는 이미 1943년부터 연구가 시작이 되었습니다.
02:17 : 그래서 맥컬리과 피치라는 사람이 인간의 뇌를 수많은 신경세포가 연결된 하나의 디지털 네트워크 모형으로 간주했습니다.
02:29 : 간주하고 그다음에 신경세포의 신호 처리 과정을 모형화해서 단순 패턴 분류 모형을 개발했습니다.
02:37 : 이게 바로 인공신경망의 시초가 되는 거예요.
02:42 : 디지털 네트워크 모형으로 간주하고 신호 처리 과정을 모형화해서
02:46 : 단순 패턴 분류 모형을 개발하기 시작한 게 인공신경망의 시작이라고 생각을 하시면 돼요.
02:55 : 이런 연구가 이뤄지고 난 다음에 헤비라는 사람이 신경세포의 연결 강도를 조정해서 학습 규칙을 개발하게 됩니다.
03:06 : 신경세포, 뉴런들 사이에 연결 강도를 조정해서 학습 규칙을 개발을 하게 됐고요.
03:12 : 그래서 로젠블럿이라는 사람이 1955년에 퍼셉트론이라는 인공세포를 가장 처음으로 가장 먼저 개발하게 됩니다.
03:23 : 퍼셉트론이라는 인공세포를 개발하게 돼요.
03:27 : 이런 인공세포를 개발을 하게 돼서 인공신경망에 대한 연구가 많이 이루어지게 되다가 그중에 문제점이 한 개 발생이 돼요.
03:39 : 비선형성의 한계점 발생이라는 문제가 발생을 합니다.
03:43 : XOR이라는 문제가 있어요.
03:46 : 보통 여러분들이 보시면 분류를 진행할 때 이렇게 점들이 있다고 합시다.
03:52 : 이렇게 보통 여러분들이 분류를 할 때는 선을 찾는다든지 이런 식으로 진행을 하는데, 이 두 가지로만 분류하는 만약에 XOR이라는 문제가 있어요.
04:03 : 그런 문제를 수행을 할 때는 직선으로는 찾을 수가 없어요.
04:07 : 만약에 선형이 아닌 비선형으로 이런 식으로 한다든지 그런 식의 방법이 필요한데
04:13 : 이런 선형성으로 할 수 없는 비선형의 한계점이 발생을 하게 되어서 이런 인공신경망에 대한 연구가 멈추게 됩니다.
04:21 : 그래서 다른 SVM이라든지 의사결정나무에 대한 방법에 대한 연구가 더 많이 이루어지게 됐었어요.
04:29 : 근데 그런 과정을 쭉쭉 이어오다가 홉필드랑 러멜하트, 맥클랜드라는 사람이 역전파 알고리즘이란 것을 개발을 합니다.
04:41 : 그래서 이것을 활용해서 비선형성을 극복한 다계층 퍼셉트론으로 새로운 인공신경망 모형을 만들게 돼요.
04:50 : 인공신경망에 대한 연구가 다시 엄청 활성화가 되고 지금의 딥러닝과 같은 모형이 개발이 되게 됩니다.
04:58 : 그러면 이거에 대해서 제가 앞에서 간단하게 그림을 그려드렸는데
05:02 : 이거를 한번 확실하게 한번 확인을 해 볼게요.
05:06 : 콘셉트만 한번 이해를 하고 넘어가겠습니다.
05:08 : 보통 여러분들이 어떤 것들을 분류할 때는 여기 이렇게 점이라고 할 때
05:17 : 점만 분류하기 위해서는 이렇게 직선을 통해서 직선보다 크거나 작은 것을 통해서 이거를 분류를 할 수 있을 거예요.
05:25 : 이 선을 보통 여러분들이 아는 것처럼 y는 베타0+베타1x1 이런 식으로 수식으로 나타낼 수 있을 겁니다.
05:35 : 통계 분석을 하실 때는 이런 회귀식 같은 경우는 통계에서는 엄청 쉽게 구하실 수가 있을 거예요.
05:40 : 근데 머신러닝에서는 저희가 이런 식을 구할 때는 코스트 펑션이란 것을 활용을 합니다.
05:47 : 자 이런 코스트 펑션을 사용을 하는데 코스트라는 단어는 여기서 의미하는 게 에러들의 총합이라고 생각을 하시면 돼요.
05:57 : 에러들의 총합을 의미를 하고요.
05:58 : 그래서 이 에러의 총합이랑 베타에 대해서 좌표 평면상에 그림을 그리면
06:06 : 이런 식으로 컴백스 한 형태가 나타납니다.
06:10 : 일정 베타라는 값을 정했을 때, 이 값이 이렇게 나타납니다. 라고 하는데
06:16 : 이거를 학습을 학습률에 따라서 학습을 진행을 할 건데 학습률에 따라서 이렇게 이렇게 학습을 진행을 합니다.
06:24 : 하다가 이 베타1의 값을 따라서 에러 값이 변화를 하는 것을 볼 수 있는데 다시 올라가는데
06:31 : 기존에 했던 값보다 커지는구나. 라고 확인을 해서 다시 조정을 통해서 내려가게 돼요.
06:37 : 그래서 이렇게 갔다가 다시 찾아서 내려가서 최적의 에러 값을 최소로 하는 에러 값을 찾고 베타 값도 찾을 수가 있을 거예요.
06:47 : 이렇게 간단한 하나의 모형을 할 때는 이런 식으로 표현이 가능하지만 직접적으로 사용해야 될 모형 같은 경우는
06:56 : 이런 하나의 기준값이 아니라 신경망 모양이 다층모형이라서 코스트 펑션이 매우 복잡해질 수 있습니다.
07:06 : 그래서 일반적으로 여러분들이 사용할 모형에서는 보통 이런 식으로 코스트값이 컴백스하게 하나가 아니라
07:12 : 여러 가지 모형으로 이렇게 나타날 수가 있어요.
07:14 : 여러 가지로 확인이 될 수가 있습니다.
07:16 : 그래서 만약에 이 점에 대해서 베타 1과 에러 값을 봤을 때 이 값에 대해서 확인을 해서 내려갔다가 다시 올라갔다가 하는
07:26 : 이 선을 구했을 때, 이 지점을 바로 저희가 로컬미니마, 국소 최솟값이라고 표현을 합니다.
07:33 : 그런데 저희는 이런 에러 값이 최소가 되는 지점을 찾아야 돼요. 이 지점을 찾아야 되는데
07:39 : 이 지점을 바로 글로벌 미니마라고 합니다. 그래서 이런 글로벌 미니멀을 찾기 위해서는
07:45 : 초깃값을 어떻게 주느냐에 따라서 다르게 형태가 나타난다고 기억을 하시면 돼요.
07:51 : 이거는 간단하게 인공신경망을 만들 때 이렇게 개념이 적용이 되는구나. 라고 이해를 하시면 됩니다.
07:59 : 이런 식으로 인공신경망을 개발을 하고 이런 것들이 지금은 다계층 퍼셉트론이 되기 때문에
08:15 : 지금 딥러닝이라는 것까지 발전을 했는데 그러면 딥러닝에 대해서도 한번 알아보고 넘어가 볼 수 있도록 하겠습니다.
20:00 :
02:17 ~ 03:06
1
2
3
검수 상태 : 불통
통과
불통
최종불통
lADsP 완전 정복l 인공신경망 분석_3 gD3lZVbYcDA
00:05 : 인간의 뇌를 한번 모델링 하는 작업이 있어요.
00:08 : 한번 보시면 생물학적인 뇌의 뉴런과 비슷하게 모델링을 한다고 해요.
00:15 : 그래서 인공신경망에 뉴런이라는 아주 단순하지만 내부적으로 매우 복잡하게 연결된 프로세스들로 이루어져 있다고 했습니다.
00:27 : 그리고 뉴런은 가중치가 있는 링크들로 연결되어 있다.
00:33 : 그리고 각각의 뉴런은 연결을 통해 여러 입력 신호를 받지만 출력 신호는 오직 하나만 생성한다는 특징이 있습니다.
00:42 : 아래 그림을 보면서 저희가 한번 이해를 해보도록 하겠습니다.
00:46 : 보시면 왼쪽 그림을 한번 볼게요. 여러분들이 서 있는데 야구공이 날아오는 것을 눈으로 확인을 할 수가 있어요.
00:56 : 야구공이 눈으로 날아오는 것을 보고 여러분들은 생각을 할 수가 있을 겁니다.
01:02 : 이 야구공을 피한 다든지, 아니면은 이 야구공을 쳐 낸다든지, 아니면 손으로 잡는다든지
01:10 : 이런 행위들을 한 세 가지, 네 가지 정도 여러 가지 방법으로 할 수가 있을 거예요.
01:15 : 야구공이 들어오고 있습니다. 그래서 이거를 눈으로 확인을 해서 이거를 생각을 여러 가지로 할 수 있을 거예요.
01:24 : 이렇게 한 다음에 이거에 대해서 갖가지 생각이 있을 겁니다.
01:28 : 나는 피할 거다, 아니면은 그냥 맞을 거다, 아니면 손으로 쳐낼 거다, 아니면 어떤 물건을 주워서 그 물건으로 막아낼 거다.
01:38 : 이런 정도의 생각을 할 수가 있을 거예요.
01:40 : 그런 생각을 한 다음에 최종적으로 여러분들이 하나의 생각으로 결과를 나타낼 수가 있을 겁니다.
01:48 : 그래서 이 행위에 대해서 한 가지를 확인을 하고 그거에 대한 생각을 통해서 최종적으로 하나의 결과를 도출한다.
01:56 : 이런 구조가 바로 인공신경망이다. 라고 생각을 하시면 돼요.
02:00 : 그래서 오른쪽 그림을 한번 보시면 입력이 될 거예요.
02:03 : 앞에서 말씀드린 것처럼 야구공을 맞는다, 아니면 피한다, 아니면 어떤 물건 어떤 물건을 주어서 그걸로 쳐낸다.
02:18 : 이런 생각을 통해서 봤는데 제가 앞 시간에서 말씀드렸던 것처럼 이런 올바른 답 같은 경우는 이렇게 연결되는 노드가 두꺼워질 거예요.
02:29 : 근데 만약에 정답이 아니라고 생각하는 노드에 대해서는 이 링크 자체가 두꺼워지지 않고 얇아질 겁니다.
02:39 : 그래서 갖가지 생각에 대해서 이렇게 전달이 될 거예요.
02:43 : 각 뉴런에서 생각했던 내용들이 전달이 되고, 또 다른 뉴런으로 전달이 되고
02:48 : 이 뉴런에서 마지막으로 전달을 한 다음에 최종적으로 하나의 결과, 피한다든지, 맞는다든지
02:55 : 아니면은 다른 물건을 주어서 그거를 쳐낸다든지 그런 정도로 하나의 출력만 생성을 할 겁니다.
03:01 : 그래서 위에 모델링을 했을 때 특징을 보시면은 단순해요.
03:07 : 우리가 생각했던 것처럼 야구공이 날아왔을 때 세 가지 정도 생각할 수 있고, 그거에 대해서 행동을 한다고 단순하게 생각을 할 수는 있습니다.
03:15 : 하지만 내부적인 이런 구조를 봤을 때는 매우 복잡하게 연결이 되어 있어요.
03:22 : 이 각각 선도 두꺼운 선이 있을 거고요. 얇은 선이 있을 거고, 그럴 수 있기 때문에 매우 복잡하게 연결된 프로세스로 이뤄지고 있습니다.
03:32 : 그리고 뉴런은 가중치들이 있는 링크라고 했죠.
03:35 : 제가 앞에서 말씀드린 것처럼 두꺼워지거나, 이게 두껍거나, 아니면 얇거나 이런 식으로 해서 가중치가 이 링크를 통해서 표현이 될 겁니다.
03:45 : 그래서 링크들로 연결이 되고 최종적으로 하나의 행동, 야구공을 피한다는 행동 하나로만 이루어진다고 해서 출력 신호는 오직 하나만 생성해 낸다고 생각을 하시면 돼요.
04:00 : 그래서 여기서 지금 보시는 그림, 이 그림이 인공신경망을 모델링 했을 때 가장 이해하기 쉬운 글입니다. 라고 이해를 하시면 됩니다.
04:09 : 이런 식으로 진행이 된다고 기억을 하시고, 그러면 각각 뉴런에 대한 특징과
04:15 : 뉴런에서 나오는 결과들이 어떻게 나타나는지 그런 것들을 한번 보면서 이해를 해 볼게요.
04:21 : 이 구조에 이제 세세한 부분에 대해서 학습을 한번 해보겠습니다.
04:25 : 뉴런에 대한 특징을 한번 확인을 해 볼 거예요.
04:28 : 이 뉴런은 입력 링크에서 여러 신호를 받아서 새로운 활성화 수준을 계산하고 출력 링크로 출력 신호를 내보낸다고 합니다.
04:38 : 입력 신호가 들어오면 어떤 행위 아니면 데이터 분석에서는 어떤 변수들이 들어올 거예요.
04:47 : 어떤 변수 뒤로 들어올 때, 그 변수와 가중치의 합으로 이루어진 게 뉴런입니다.
04:52 : 그래서 시그마 xi 그다음에 wi 값이 뉴런으로 표현이 될 겁니다.
04:59 : 그래서 이 뉴런 값을 통해서 이 값에 따라서 활성화 수준을 다시 계산을 해요.
05:05 : 이 총합에 대해서 활성화 수준을 거치고요.
05:08 : 활성화를 거쳐서 최종적으로 하나의 출력을 내보내는데, 이게 입력 신호가 미가공 데이터 또는 다른 뉴런으로 출력이 될 수 있습니다.
05:17 : 그래서 하나가 나올 수는 있지만 최종적으로 출력을 하나만 할 수 있지만, 이게 다른 뉴런으로 입력이 될 수도 있다. 라고 기억을 하시면 돼요.
05:27 : 그래서 뉴런에서 나오는 것에 대한 특징은 뉴런은 여러 신호를 받아서 새로운 활성화 수준을 계산하고
05:35 : 그다음에 다른 출력 링크로 출력 신호를 보내는 역할을 합니다.
05:39 : 그리고 이 입력 신호 같은 경우는 미가공 데이터에서 받거나 아니면 다른 뉴런의 출력을 받아서 할 수 있다.
05:46 : 출력되는 이 신호 같은 경우는 최종적인 해가 하나의 해가 될 수도 있고요.
05:51 : 하나의 값인 해가 될 수도 있고 아니면은 다른 뉴런의 입력이 될 수도 있다.
05:56 : 제가 앞에서 말씀드린 것처럼 여기서 나왔는데, 만약에 값이 나왔는데 이게 최종적으로 하나의 값이 될 수도 있고요.
06:04 : 아니면 다른 뉴런에 연결이 될 수도 있어요. 이런 식으로 그리고 뭐 여기서 치중으로 나오는 게 하나일 수도 있고
06:13 : 이런 식으로 될 수도 있는 게 뉴런이라고 기억을 하시면 됩니다.
06:17 : 그러면 이 뉴런의 계산을 한번 볼게요.
06:20 : 제가 앞에서 방금 말씀드렸는데 입력되는 값들이 있다고 했죠.
06:25 : 이렇게 x1부터 x2, x3에 따라서 입력이 될 건데, 여기에 입력이 될 거예요.
06:33 : 그럴 때 여기서 각각 되는 링크들에 대한 값은 w1부터 w2, w3라는 값을 통해서
06:42 : 뉴런의 입력이 되게 되고 여기서 y라는 값을 통해서 출력을 한다고 말씀을 드렸습니다.
06:48 : 그래서 이 뉴런은, 이 뉴런이라는 값 자체가 이 x1과 w1의 곱의 합에 대해서 결괏값이 나타나고
06:56 : 이 결괏값에 따라서 이 y 값을 출력할 수 있는 활성화 함수를 활용을 해서 저희가 최종 y 값을 만들어 낼 겁니다.
07:04 : 그래서 뉴런은 전이함수 즉 활성화 함수를 사용을 해서 최종 결괏값인 y 값을 낼 겁니다.
07:14 : 그래서 활성화 함수를 이용한 출력 결정 순서를 한번 보시면, 뉴런은 입력 신호가 가중치의 합을 계산하여 임곗값과 비교를 한다고 합니다.
07:24 : 그래서 가중치 합이 임곗값보다 작으면 뉴런의 출력은 -1, 같거나 크면 +1을 출력한다고 합니다.
07:34 : 그래서 활성화 함수에 대해서 보면 뉴런 x 같은 경우는 가중치와 입력 변숫값에 곱의 총합이라고 말씀드렸어요.
07:43 : 그래서 뉴런으로 들어가는 입력값의 순 가중합이에요. 그래서 이런 식으로 x값이 먼저 계산이 되고요.
07:51 : 이렇게 되면 y의 뉴런 같은 경우는 이런 임곗값에 따라서 만약에 0보다 크면은 +1 아니면 -1
07:59 : 이렇게 지정할 수 있는 활성화 함수를 따라서 출력값이 지정되게 됩니다.
08:04 : 그래서 여기서 말하는 y에는 활성화 함수가 되겠죠. 이런 활성화 함수가
08:10 : 이렇게 +1이냐 -1이냐, 이거에 대해서만 나타난 게 아니라 다른 여러 가지 활성화 함수가 있습니다.
08:19 : 그러면 뉴런의 출력을 결정하는 데 활성화 함수를 활용을 한다고 말씀을 드렸어요.
08:25 : 활성화 함수를 종류가 여러 가지인데 지금 4가지 정도만 한번 먼저 볼게요.
08:31 : 가장 먼저 나오는 게 계단 함수라는 것도 있어요. 부호 함수라는 것도 있고요.
08:37 : 그다음에 시그모이드 함수라는 것도 있습니다. 그리고 선형 함수라는 것도 있어요.
08:42 : 그래서 가장 기본이 되는 계단 함수 같은 경우는 이 x값의 순 가중합이 0보다 크면 1이라는 값을 출력을 하고요.
08:52 : 아니면 0보다 작게 되면은 0이라는 값을 출력해라. 라고 y 값을 지정을 하게 됩니다.
08:58 : 그리고 부호 함수라는 것도 똑같아요.
09:01 : 부호 함수라는 것도 +1이나 -1을 출력해라. 라고 y 값을 지정을 해줄 수가 있습니다.
09:07 : 거기서 더 발전해서 시그모이드 함수, 선형 함수라는 것도 있어요.
09:12 : 시그모이드 함수 같은 경우는 여러분들 로지스틱 회귀분석할 때 많이 보셨을 거예요.
09:19 : 로지스틱 회귀분석을 했을 때 이런 모양을 보셨을 겁니다.
09:25 : x, y에서 이렇게 0과 1 사이의 값이 이렇게 나타나는 이 선을 한번 보셨을 거예요.
09:33 : 이거를 여기 활성화 함수에도 적용을 하실 수가 있을 겁니다.
09:37 : 그래서 이 x값을 exponential 한 값에 대해서 이 결괏값 자체를 출력을 할 수가 있을 겁니다.
09:44 : 그래서 여기 시그모이드 함수 같은 경우는 반드시 기억을 하세요.
09:48 : 이거는 시험에서 주관식이나 단답형 둘 다 나올 수 있는 확률이 높기 때문에 이런 방법을 통해서도 활성화 함수를 지정을 할 수가 있다는 점 기억을 하시고요.
09:59 : 그리고 리니어라는 값도 있습니다.
10:01 : 리니어를 통해서 그냥 순 가중합 자체를 그냥 바로 y 값으로 출력을 할 수도 있습니다.
10:07 : 그래서 이렇게 지금 4가지 정도가 있는데 추가로 요즘에도 많이 사용되는 방법이 많습니다.
20:00 :
00:05 ~ 01:02
1
2
3
검수 상태 : 불통
통과
불통
최종불통
lADsP 완전 정복l 인공신경망 분석_5 kDq_PFmwSm4
00:05 : 뉴런의 입력값이 있을 거예요.
00:07 : x1이랑 값과 x2라는 것이 입력이 될 겁니다.
00:12 : 입력이 되면 뉴런의 시그마 xi, wi 이게 어떤 값이 나타날 건데 그 값과 세타 값을 비교를 해서 출력값이 나뉘게 될 거예요.
00:25 : 그래서 x1과 x2에는 각각 가중치인 w1과 w2라는 값이 입력이 같이 될 거예요.
00:32 : 그래서 임곗값보다 작으면 0이라는 값으로 출력을 하고, 임곗값보다 크면 1이라는 값을 출력을 하겠다고 지정을 합니다.
00:42 : 그래서 저는 이 임곗값을 0.2라고 두겠습니다.
00:46 : 이 0.2와 비교를 해서 크거나 작은 거에 따라서 이렇게 결괏값이 나타날 거예요.
00:52 : 자 그리고 인공신경망 학습을 하실 때는 저희가 입력값은 입력되는 게 똑같기 때문에 값이 어떻게 변형이 되는지 모르실 거예요.
01:03 : 그래서 그런 가중치가 조정이 돼야 될 겁니다.
01:06 : 그래서 가중치 조정을 통해서 학습 모형이 변화되는 것을 확인할 수가 있는데
01:12 : 이 가중치 조정 같은 경우는 학습률인 러닝레이트라는 것을 통해서 조정을 할 수가 있을 거예요.
01:20 : 그래서 러닝, 여기서는 알파라고 표현을 하고 저는 러닝레이트를 0.1로 두겠습니다.
01:26 : 보통은 분석을 할 때 0.1, 0.01 뭐 이런 식으로 두고 러닝레이트를 지정을 한 다음에 분석에 바로 활용을 할 거예요.
01:34 : 자 그래서 이제 and 연산자를 가지고 한번 학습을 진행을 해 보도록 하겠습니다.
01:41 : 자 가장 먼저 입력이 되어야 되는 값들이 먼저 나올 거예요.
01:44 : x1과 x2라는 값이 입력이 될 겁니다.
01:47 : 그래서 x1이라는 값의 0과 0이라는 값이 입력이 될 거고요, 목푯값이 먼저 나올 거예요.
01:53 : 목푯값인 y라는 값이 0과 0이 들어왔을 때는 목푯값이 0이 나와야 되고요.
01:59 : 그래서 가중치 같은 경우는 w1과 w2는, 저는 초반에는 w1과 w2를 각각 0.3과 -0.1로 두고 한번 학습을 진행을 해보겠습니다.
02:11 : 자 그랬을 때 계산을 어떻게 하느냐 보시면은, x1과 w1 값 그리고 x2와 W2 값을 각각 곱해서 그 값을 더해 볼 거예요.
02:22 : 그래서 x1과 w1의 곱인 0.3 곱하기 0은 0이겠죠.
02:29 : 그리고 마이너스 0.1 곱하기 0도 0으로 나타날 거예요.
02:33 : 그래서 0과 0에 대해서 출력값을 보면 합일 때 0이라는 값이 나올 거예요.
02:39 : 그래서 0.2라는 값과 비교를 했을 때 0.2가 크기 때문에 0으로 출력이 될 겁니다.
02:47 : 그래서 실제 출력값은 0이 출력이 되게 될 거예요. 그리고 오차 값이 있을 거예요.
02:53 : 오차 값은 원래 목표 출력값과 실제 출력값의 차이일 거예요.
02:57 : 그래서 오차는 0 빼기 0은 당연히 0이 되겠죠, 그래서 가중치 조정이 없을 거예요.
03:05 : 원래 잘 맞췄기 때문에 그래서 가중치 w1과 w2를 봤을 땐 동일하게 0.3 마이너스 0.1이란 값이 출력이 될 겁니다.
03:14 : 자 그러면 이제 두 번째로 0과 1이라는 값이 입력이 될 겁니다.
03:18 : 0과 1이라는 값이 입력이 됐을 때는 y 저희 목푯값은 0이라는 값이죠.
03:23 : 그래서 w1과 w2도 동일하게 지정이 될 거예요.
03:29 : 계산을 한번 해보면 0 곱하기 0.3은 0이라는 값이 출력이 되고요, 그다음에 1 곱하기 마이너스 0.1은 마이너스 0.1이라는 값이 출력이 될 겁니다.
03:42 : 그래서 마이너스 0.1 같은 경우는 0.2와 비교했을 때 작기 때문에 0이라는 값이 출력이 될 거예요.
03:51 : 그래서 실제 값도 0이 나타나고요.
03:54 : 그래서 목푯값에서 실제 값을 뺐을 때 5차 같은 경우도 0이 나타날 겁니다.
04:01 : 그래서 w1과 w2의 변화도 없을 겁니다.
04:05 : 왜냐, 목푯값과 실제 값이 동일하기 때문에, 그래서 0.3 마이너스 0.1이라는 값이 출력이 될 겁니다.
04:12 : 그러면 세 번째로 넘어가 보겠습니다.
04:16 : x1이 1이고 x2가 0일 때, 한번 확인을 해 보시면, 이때도 목푯값은 0이라는 값이 출력이 돼야 되고요.
04:25 : 그리고 w1과 w2 값은 기존의 가중치가 동일하기 때문에 0.3 마이너스 0.1이라는 값이 입력이 될 겁니다.
04:33 : 이제 계산을 한번 해보면 x1과 w1을 곱했을 때 1 곱하기 0.3은 0.3이고요, 그다음에 0 곱하기 마이너스 0.1은 0입니다.
04:46 : 그래서 결과적으로 값은 0.3이 출력이 될 거예요.
04:50 : 두 가지 값을 더했을 때 0.3이 출력될 겁니다.
04:53 : 그래서 0.3이 출력되는데, 자 그러면 0.3과 0.1을 비교했을 때 0.3이 크게 나타나죠.
05:01 : 임곗값보다 큰 값이 나타나기 때문에 실제 값은 1이라는 값이 출력이 될 거예요.
05:06 : 그래서 실제 값은 1이 출력이 되고요.
05:09 : 그러면 목푯값과 실제 값을 봤을 때 차이가 있습니다.
05:13 : 그래서 목푯값에서 실제 값을 뺀 오차는 마이너스 1이라는 값이 출력이 돼요.
05:19 : 그래서 이 오차 값에 대해서 이제 저희는 가중치 조정이 들어가야 될 겁니다.
05:26 : 그래서 러닝레이트와 알파와 곱하기 오차를 진행을 할 거예요.
05:30 : 그러면은 마이너스 0.1이라는 값이 나타날 거예요.
05:34 : 그래서 이 값을 입력된 값에 보면 x1에는 1이라는 값이 입력이 됐고 x2에는 0이라는 값이 입력이 됐어요.
05:43 : 그래서 각각 곱해보면 x1에는 가중치의 마이너스 0.1이라는 값이 더해질 수가 있고, x2에는 곱했을 때 0이라는 값이 나타나기 때문에 변화가 없을 겁니다.
05:55 : 그래서 결괏값을 오차에 따라서 가중치를 조정을 하면 0.2와 마이너스 0.1이라는 값이 입력이 될 겁니다.
06:03 : 이렇게 되면은 이제 w1과 w2라는 가중치가 조정이 되었어요.
06:09 : 그래서 마지막으로 1과 1을 넣었을 때 원래 목표치는 1이라는 값이 나와야 되고요.
06:15 : 그리고 w1과 w2는 조정이 되었기 때문에 0.2와 마이너스 0.1이라는 출력을 가지고 계산을 해야 됩니다.
06:23 : 실제 값을 한번 보시면 1 곱하기 0.2 그다음에 1 곱하기 마이너스 0.1 이거는 0.2고요 -0.1입니다.
06:35 : 두 가지 값을 더했을 때는 0.1이라는 값이 나와요.
06:39 : 0.1이라는 값은 0.2와 비교했을 때 작기 때문에 결과적으로 값이 0이 출력이 될 겁니다.
06:48 : 그래서 실제 값은 또 0이 나타나게 돼요.
06:51 : 실제 값이 0이 나타나게 되어서 저희가 오차를 확인했을 때 목푯값과 실제 값을 뺐을 때 오차는 1이 나타나게 될 거예요.
07:01 : 그러면 또 러닝레이트와 오차를 곱하면 0.1이라는 값이 나타날 거예요.
07:05 : 0.1과 x1 x2를 각각 곱했을 때 그 값을 가중치를 더해줍니다.
07:11 : 그랬을 때 0.3이 되고요, 그다음에 w2 같은 경우는 0이라는 값이 될 거예요.
07:18 : 그러면 이 4가지 경우에 대해서 했을 때 가중치가 조정이 되고 지금 오차가 나타나는 것을 확인을 할 수가 있을 겁니다.
07:26 : 이런 오차가 없을 때까지 학습을 진행을 할 겁니다. 이 4가지 과정을 한 에폭 한 에폭이라고 표현을 해요.
07:33 : 그래서 한 에폭을 가지고 이런 식으로 진행을 했고요. 그러면 이제 두 번째 에폭으로 다시 넘어가 볼 거예요.
07:40 : 다시 0과 0부터 0 1, 1 0, 1 1이 순서로 한번 가보겠습니다. 다시 두 번째 에폭에는 다시 0과 0, 했을 땐 0이 나와야 되고요.
07:49 : 가중치 같은 경우는 0.3과 0이 나와야 되죠.
07:53 : 0.3, 0이 나오고 실제 값을 봤을 때는 결괏값이 0이 나타나기 때문에 오차가 없고 그다음에 가중치 같은 경우도 0.3 그리고 0 그대로 두게 되고요.
08:05 : 그다음에 0, 1, 그다음에 이거는 0, 그리고 가중치는 똑같이 두고요.
08:11 : 그다음에 결괏값을 봤을 때 실제 값도 0이 나타내고 오차가 없기 때문에 가중치도 똑같습니다.
08:17 : 그때 1과 0이 들어왔을 때, 결괏값도 똑같이 0이 나와야 되는데 가중치도 동일하고 했을 때 결괏값을 보시면 1 곱하기 0.3을 하면 0.3이 나오고요.
08:29 : 0 곱하기 0을 했을 땐 0이라는 값이 나와서 두 가지 값을 더했을 때 0.3이라는 값이 나옵니다.
08:34 : 그래서 0.2와 비교했을 때 1이라는 값이 출력이 될 거예요.
08:38 : 했을 때 또 오차가 발생하게 됩니다.
08:40 : 그래서 마이너스 1이라는 값이 출력이 되고 러닝레이트를 곱한 값과 활성화된 x1에 대해서 곱해서 러닝레이트를 가중치에 조정을 하면 0.2와 0이라는 값이 나올 거예요.
08:53 : 그래서 마지막으로 1과 1을 비교했을 때 1 값이 출력이 돼야 되고요.
08:58 : 그래서 가중치가 조정된 0.2와 0이라는 값을 비교를 해서, 실질적으로는 결괏값인 1이라는 값을 출력을 하게 될 거예요.
09:08 : 그리고 이게 보면 제가 작거나 같다. 예요. 작은 거는 0이고요.
09:17 : 그다음에 임곗값보다 크거나 같으면 1로 출력할 겁니다.
09:22 : 그래서 0.2와 0.1을 비교했을 땐 1로 가게 될 거예요, 그래서 1로 가게 되고
09:27 : 오차는 나타나지 않고 가중치는 똑같이 0.2, 0으로 갈 거예요.
09:32 : 그래서 이런 식의 과정을 계속 반복하다 보면 2에폭, 3에폭, 4에폭, 5에폭으로 가면, 다섯 번째 에폭 값을 보면 결괏값이 모두를 맞추는 경우가 나타나게 될 거예요.
09:49 : 그래서 보시면 최종적으로는 저희가 1과 1을 했을 때에도 에러 값이 없어서 가중치가 최종적으로 0.1, 0.1이라는 값이 된다고 기억을 하시기 바랍니다.
20:00 :
01:03 ~ 02:00
1
2
3
검수 상태 : 불통
통과
불통
최종불통
키워드 :
영상UID :
시작 시간 :
종료 시간 :
우선순위 : 추가