Artificial Intelligence

[NLP] 검색증강생성(RAG, retrieval-augmented generation)
·
Artificial Intelligence/Natural Language Processing
검색증강생성 (RAG) 기존 대규모 언어 모델(LLM)은 학습된 내용을 바탕으로 답을 하기 때문에 학습되지 않은 최신 데이터에 대한 오류가 발생할 수 있고, 다양한 맥락으로 해석될 여지가 있는 대화에서 오해를 가져올 수 있다. 또한 어느 모델이나 가지고 있는 문제인 할루시네이션이 발생할 가능성이 있다. ChatGPT 서비스 초반 대한민국 대통령이 누구냐는 질문에 이미 대선이 치뤄진 이후였음에도 훈련되었을 때의 정보인 문재인 대통령이라 답한 것이 대표적인 예일 것이다.이러한 LLM의 단점을 보완하기 위해, 정확히는 출력을 최적화하기 위해 지정된 지식 베이스를 참조하도록 하는 프로세스 기술이 검생증강생성이다. 모델에게 사용자의 질문과 함께 그 질문에 답하기 위한 지식 정보도 같이 주는 것이라 생각하면 편할 ..
[ML] 머신러닝(machine learning) 개념 및 소개
·
Artificial Intelligence/Machine Learning
머신러닝 (Machine Learning) 번역어인 기계학습이라고도 하며, 말 그대로 기계가 데이터를 기반으로 학습하고 특정 작업을 수행하는 것을 말한다. 일반적으로 통계적 기반을 가진 알고리즘이 사용된다.인공지능의 하위 집합으로 이해되기도 하는데, 최근 인공지능을 말하면 거의 머신러닝 혹은 딥러닝인 경우가 많아 유의미한지는 잘 모르겠다. 그나마 딥러닝은 머신러닝의 하위 집합이면서 동시에 딥러닝이 아닌 머신러닝과 차이가 명확하다.어찌되었던 데이터를 기반으로 학습하여 특정 작업을 수행하는 것을 머신러닝이라 말한다. 따라서 데이터 의존적이라는 특징이 있다. 쓰레기를 넣으면, 쓰레기가 나온다(garbage in, garbage out)는 말처럼 질 낮은 데이터로는 머신러닝의 장점을 확인하기 어렵고, 양질의 데..
[DL] 다양한 활성화함수: 계단(step), 시그모이드(sigmoid), ReLU(rectified linear unit), Leaky ReLU(leaky rectified linear unit)
·
Artificial Intelligence/Deep Learning
계단 함수 (Step Function) 계단 함수는 퍼셉트론에서의 활성화함수로 아래와 같다.$$ h(x) = \begin{cases} 0 & (x \leq 0) \\ 1 & (x > 0) \end{cases} $$즉 단순하게 입력으로 전달받은 값이 $ 0 $을 넘으면 $ 1 $을 출력하는 함수이다. 코드로는 다음과 같다.def step_function(x): if x > 0: return 1 else: return 0그러나 위 함수는 넘파이 배열을 받을 수 없기 때문에 아래와 같이 수정하여 넘파이 배열의 입력을 가능하게 만들어주어야 한다.def step_function(x): y = x > 0 return y.astype(int)입력받은 넘파이 배열에서 $ ..
[DL] 신경망(neural network)과 활성화함수(activation function)
·
Artificial Intelligence/Deep Learning
신경망 (Neural Network) 퍼셉트론을 통해 AND, OR, NAND 게이트 구현이 가능함을 확인하였고, 다층 퍼셉트론을 통해 XOR 게이트 구현 역시 가능함을 확인하였다. 그러나 가중치와 편향에 대해 모두 설정해주어야 하는 특징이 있었다.신경망은 퍼셉트론과 유사한데, 아래와 같이 그 구조를 나타낼 수 있다. 입력층인 $0$층과 출력층인 $2$층이 있고, 그 중간에 은닉층(hidden layer)이 있다. 이 경우 보통은 입력층을 제외하고 2층 신경망이라 부른다. 단 어떤 경우에는 3층이라 부르기도 하니 주의해야 한다.다시 퍼셉트론으로 돌아와서 구조를 생각해보면 기존 편향을 명시하지 않은 구조는 아래와 같았다.수식으로는 편향을 포함하여 아래와 같이 나타냈었다.$$ y = \begin{cases}..
[DL] 퍼셉트론(perceptron)과 다층퍼셉트론(multi-layer perceptron)
·
Artificial Intelligence/Deep Learning
퍼셉트론 (Perceptron) 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 제안한 초기 형태의 인공 신경망 알고리즘으로 여러 입력으로부터 하나의 출력을 내보낸다. 인공 신경망이라는 점에서 알 수 있지만, 퍼셉트론은 뇌를 구성하는 신경세포인 뉴런의 동작과 유사한데,  뉴런은 가지돌기에서 신호를 받아들이고, 이 신호가 일정치 이상의 크기를 가지면 축삭돌기를 통해서 신호를 전달한다.간단하게 입력이 2개인 퍼셉트론을 방향 그래프로 보면 다음과 같다.$ x_1, x_2 $ 의 입력 신호가 존재하고, $ y $ 의 출력신호가 존재한다. $ w_1, w_2 $ 는 가중치(weight)를 뜻한다. 입력 신호가 뉴런(여기서는 $ y $)에 보내질 때는 각각 고유한 가중치가 곱해지고, 이렇게 곱해진 ..
애스터로이드
'Artificial Intelligence' 카테고리의 글 목록