다들 아시다시피 지능형 웹, 인공지능 웹, 시맨틱 웹 같이 현재 웹 3.0 환경에서 생활 하고 있습니다.
실제로 구글에서, 위와 같은 내용의 메일을 받아보면 메일의 내용이 수집되어 해당 내용과 관련된 추천을 제공하는 등의 서비스를……..

사용자 모르게 개인정보관련하여 동의를 받아서 제공하고 있다고 하네요

사용자가 검색단어를 입력하고 검색결과를 얻는 중간에, 지속적인 피드백을 통해서 인공신경망에는 학습이 이루어 집니다.

이 책에서는 사용자의 클릭 정보를 수집하여 기록하고, 그 기록을 이용해 검색 결과를 향상 시키는 방법을 살펴봅니다.

첫번째로는 학습된 인공신경망이 필요하답니다.

그럼 인공신경망이란 무엇을까요?

인간의 뇌를 기반으로 한 추론모델 뉴런….

잠깐 생각을 하게됩니다 ㅋㅋㅋㅋㅋㅋ

뉴런은 신경계에서 기본적인 정보처리를 하는 단위입니다.

학교다닐때 많이들 보셨던 그림입니다.

인간의 뇌는 간단히 말하면 매우복잡하고 비선형적이며 병렬처리를 수행합니다.

이 관점에서 다시 말하면,

100개의 뉴런과 각 뉴런을 연결하는 6조개의 스냅스들의 결합체이고,

정보는 신경망 전체에서 동시에 저장되고 처리됩니다.

또 적응성이란 것을 가져서 잘못된정보에 대해서는 뉴런들 사이의 연결이 약해지고, 올바른 정보에 대해서는 뉴런들 사이의 연결이 강해지게 됩니다.

! 그럼 다시 인공신경망으로 돌아가겠습니다.

인공신경망은 인간의 뇌를 기반으로 모델링하였습니다.

학습을 수행하고 가중치도 조정합니다.

인공신경망의 학습은

검색단어, 검색결과, 사용자가 클릭한 것으로 수행됩니다.

인공신경망의 구조에 대해 살~짝 더 들어가보겠습니다.

일반적으로 인풋값이 들어오면 적절한 weight가 곱해지고 더해집니다.

즉 노드간의 연결들을 가중치 있는 값으로 연결된다고 말할 수 있습니다.

1985년 프랭크 로젠블랫이 간단한 인공신경망을 훈련시키기위해 Perceptron algorithm을 발표하였습니다.

이렇게 일반적인 input/output layer로 이루어진 Neural Network의 구조를 Perceptron이라고 합니다.

일반적으로 각각의 노드들은 연결을 통해 여러 입력값을 받을 수는 있지만, 출력값은 오직 하나입니다.

하지만 그림에서 보시다시 단일 perceptron구조에서는 하나의 직선으로 된 판별식만 표현할 수 있어 새로운 모델이 제안됩니다.

단점을 보안하기위해서 중간에 hidden layer 로 여러 판별식을 추가로 둘 수 있어, 보다 복잡한 문제를 해결 할 수 있습니다.

(애니메이션), Hidden layerinput layer에만 반응하기 때문에 hidden layer라고 부릅니다.

이제, 여기서는 수많은 neural networkweight(가중치)값을 어떻게 학습시킬 것 인지 고민해야합니다.

책에나온 그림으로 보겠습니다.

Hidden layer는 원래 여러개의 층으로 구성이 될 수 있지만, 책에서는 단일 층의 경우만 설명하고 있습니다.

외부와 직접상호작용하지 않고 input layer에 따라러만 반응하므로 이 경우 input은 단어들의 집합이 돕니다. 그래서 이 layer를 쿼리층이라고도 합니다.

layer의 노드들은 인접한 layer의 모든 노드들과 연결됩니다.

여기서 최적의 결과는 검색어 안에 있는 단어들에 대한 입력값이 1이 되어야 합니다.

이게 무슨말이냐면,
아까 인공신경망은 실제 생물학적 신경망의 지능적 처리를 단순 모방하여 지능적 형태를 재현하는 것으로,

뉴런간에 교신정보의 세기가 강할 수록 신호 전달이 잘 되는 것이라고 생각하면 될 것 같은데요,

무한대의 값을 0~1사이의 적당한 값으로 표현할 때 1이 가장 최적화 된 값이 되는 겁니다. (맞는건지 모르겠음..ㅋㅋ)

따라서 1이 입력으로 들어오면 입력노드들에서 출력이 On이 되어 은닉층을 활성화 시키고,

충분히 강한 입력을 받은 은닉층 내 노드들이 차례로 On이 되어 출력층의 노드들까지 On을 시키게 됩니다.

이런식으로 계산을 한다는데..다음기회로 넘기도록 하겠습니다.

ㅠㅠ~

다시 그림으로 돌아와서 보겠습니다.

이런 상황에서 입력층 또는 은닉층의 노드들의 연결형태로 앞장에서 보신 계산식등으로 가중치가 정해지게 되고, 이에따라 출력층내의 노드들도 여러등급으로 활성화됩니다.

즉 이 활성화 레벨은 원래의 검색어안에 있는 단어들과 출력 URL간에 얼마나 관련이 있는지 결정하는데 사용됩니다.

우선 책의 그림에서는 bold체는 활성화된 노드를 의미하고, 실선은 강한연결을 의미합니다.

“world”bank”를 검색했을때 두 입력노드가 활성화되고, 은닉1 노드가 활성화 되었을때,

출력쪽에서 “World Bank”가 활성화되었다는 그림입니다.

연결 강도의 정확도에 따라 결과는 달라지며, 정확도는 검색을 하고 검색결고에서 링크를 클릭할 때마다 네트워크를 학습하여 얻어집니다.

데이터 베이스를 설정해야합니다.

데이터 베이스에 저장할 정보로는

단어, URL, 은닉층에 대한 테이블, 단어층에서 은닉층으로의 연결정보와 은닉층에서 출력층으로의 연결정보를 가지고 있어야합니다.


+ Recent posts