인공지능 6

순전파 (Forward Propagation)

처음에는 Weight값을 난수로 사용해서 임의의 값을 줍니다. 학습을 통해 Weight값을 변화시킬 것이므로 관계가 없습니다. (Weight값을 0으로 주면 학습이 되지 않습니다) W1, 1 = 0.9 W1, 2 = 0.2 W2, 1 = 0.3 W2, 2 = 0.8 현재는 임의의값을 부여했습니다. x = (노드 1의 출력값*가중치) + (노드2의 출력값*가중치) x = (1.0 * 0.9) + (0.5 * 0.3) = 0.9 + 0.15 = 1.05 결과 : 0.74077489918 x = (노드 1의 출력값 * 가중치) + (노드2의 출력값 * 가중치) x = (1.0 * 0.2) + (0.5 * 0.8) = 0.2 + 0.4 = 0.6 결과 : 0.64565630622

NN 2023.02.06

뉴런과 인공지능

뉴런은 신경세포라고도 하며 뇌는 이 뉴런들이 뭉펴서 큰 군집을 이루고 있습니다. 가지돌기 : 수신부 축삭 : 전달 축삭 말단: 송신부 출처 : https://ko.wikipedia.org/wiki/%EC%8B%A0%EA%B2%BD%EA%B3%BC%ED%95%99 산티아고 라몬 이 카할이 스케치한 비둘기의 소뇌에 위치한 뉴런을 보면 뉴런들이 나무의 가지처럼 연결되어 있습니다. 뉴런은 일정한 크기 이상의 자극을 전달합니다. 이런 특성을 활성화 함수로 만들어서 뉴런을 모방한 인공뉴런을 만들려고 시도했습니다. 이때 일정이상의 신호만 보내는 것을 흉내 내려고 계단함수(Step Function)를 만들었습니다. 하지만 이것은 너무 제한적이고 고정적이고 디지털적이라 아날로그적인 자연계의 문제를 표현하는데 한계가 있었..

NN 2023.02.02

분류자의 여러 개 필요성(XOR 문제)

논리연산자 AND연산 : 2개 모두 True일 때 결과가 True, 아니면 False OR연산 : 2개중 1개라도 True일 때 결과가 True, 아니면 False XOR연산 : 2개의 값이 같으면 False, 다르면 True NOT연산 : True->False, False-> True AND 연산과 OR연산 입력 A 입력 B AND(논리곱) OR(논리합) 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 AND 연산은 분류자 1개로 분류가 가능합니다 (1, 1) : 결과가 1 (0, 0) (0, 1) (1, 0) : 결과가 0 OR 연산은 분류자 1개로 분류가 가능합니다 (0, 1) (1, 0) (1, 1) : 결과가 1 (0, 0) : 결과가 0 XOR 연산 입력 A 입력 B XOR(베타적 논..

NN 2023.01.27

분류(Classification)

곤충의 폭과 길이로 애벌레와 무당벌레를 구분한다고 해보겠습니다 길이가 길고 폭이 좁으면 애벌레이고 길이가 짧고 폭이 넓으면 무당벌레일 것입니다 이 둘 사이를 분할선으로 분류할 때 너무 급하거나 너무 완만하지 않고 적절한 기울기의 분할선일 때 분류가 가능합니다 즉 분류의 학습은 분할선의 기울기를 변화시키는 것입니다. 기존의 데이터를 잘 분류하도록 학습이 되었다면 임의의 데이터를 넣어서 분류합니다. 미지의 곤충을 분류할 때 학습된 분류기를 통해 미지의 곤충은 애벌레라고 판단할 수 있습니다. 곤충 분류를 위한 학습 데이터를 주겠습니다 예제 폭 길이 곤충 1 3.0 1.0 무당벌래 2 1.0 3.0 애벌레 가설 y = Ax 처음에 기울기 A의 값은 임의의 데이터 0.25로 하겠습니다 학습과정을 통해 A값은 개선..

NN 2023.01.18

예측(Regression)

누군가 질문을 던지면 사람은 생각을 하고 대답을 합니다 그걸 컴퓨터에서는 입력, 연산, 출력으로 표현할 수 있습니다. 만약 입력값이 3x4일때 연산은 4+4+4 이고 출력은 12가 됩니다. 여기서 가설을 하나 세워봅니다. 킬로미터를 마일로 변환 할 때 마일 = 킬로미터 x c (c는 상수) 데이터 킬로미터 마일 1 0 0 2 100 62.137 이때 c의 값을 찾아야 한다고 하겠습니다. c값은 임의의 값을 주겠습니다. 어차피 학습을 통해서 바로 수정되기 때문에 관계가 없습니다. 킬로미터가 100이고 c 가 0.5 일때 마일의 기댓값은 62.137 결과 값은 50이 됩니다. 그럼 얼마만큼의 오차가 있는지 확인 할 수 있습니다 62.137 - 50 = 12.137 오차 = 12.137 그래서 c값을 0.6을..

NN 2023.01.16

머신러닝과 딥러닝

머신러닝이란 머신러닝은 인공지능의 한 분야로, 컴퓨터 스스로 대용량 데이터에서 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것입니다. 즉, 컴퓨터가 학습할 수 있게 하는 알고리즘과 기술을 개발하는 분야라고 할 수 있습니다. 머신러닝과 학습 머신러닝은 학습은 크게 3가지 종류로 나누어집니다. 지도학습은 정답이 무엇인지 알고 있는 데이터를 컴퓨터에게 학습시켜 새롭게 들어오는 데이터에 대한 결과를 예측하는 방법입니다. 지도학습법에는 크게 분류와 회귀가 있는데 분류는 종류를 예측하는 것이고 회귀는 연속된 값을 예측하는 것입니다. 비지도학습은 정답을 알려주지 않고 예측하는 방법으로 정답이 무엇인지는 모르지만 컴퓨터는 입력받은 데이터로부터 패턴이나 형태를 찾아 비슷한 데이터들끼리 군집화(Clustering)하여 ..

NN 2023.01.11