딥러닝이란?
- 인공지능: 인간 지능
- 머신러닝: 지능을 구현하는 과정 중 하나 (EX: 규칙기반)
- 딥러닝: 인공신경망을 사용 (지도학습)
국내 AI사업분야
생성형 인공지능을 패키징해서 솔루션을 만드는 것
(인공지능을 만들고 운영하는 데에는 필요한 자원이 너무 많다.)
인공지능 학습방법 비교
- 지도학습 > 레이블 존재
- 비지도학습 > 레이블 없음
- 비지도 학습의 목표 중 하나는 데이터의 확률 분포 p(x)를 추정하는 것입니다. 여기서 x는 데이터 벡터입니다. 확률 분포를 추정함으로써 우리는 데이터의 생성 과정을 이해하고, 새로운 데이터를 생성하거나 이상치를 탐지할 수 있습니다.
- 강화학습 > 보상 존재 (지도, 비지도로 가능함)
- 구성화 요소
- 환경 상태 집합
- 행동 집합
- 보상
- 자율주행 자동차의 보상은 무엇이냐?
- 예시
- 로봇이 사과에 도달하는 것이 목표
- 환경 상태 집합: 36칸
- 행동 집합: 상, 하, 좌, 우
- 보상: 1점
- 감가율: 미래의 보상을 현재 시점에 고려하는 감가율
- 감가율이 0.9일때 예는 다음과 같다.
- 0 * 0.9 + 0 * 0.9^2 + 0 * 0.9^3 ... + 1 * 0.9^n
- 위 식의 항은 행동 횟수라고 한다.
- 최종 위치에 있을 때에 비로소 점수를 1 받고 나머지칸은 0점이다.
CV(컴퓨터비전)와 NLP(자연어처리)
- 이미지는 텐서화 가능하지만 ( 채널, 위치 )
- 언어는 텐서화가 어렵다. (사회적 합의 내용을 수치화 하기 어렵다.)
워드 임베딩과 랭기지 모델은 무엇이 다른가?
결과물은 다르나 돌아가는 목적이 다르다.
- 워드 임베딩: 비슷한 의미의 단어를 비슷한 벡터로 표현
- 랭기지 모델: 등장할 단어를 예측하는 모델
데이터셋의 차원은?
데이터가 nd-tensor라면 데이터셋은 (n+1)d-tensor 이다.
ex) 흑백은 2d다. 여러 장이 되면 이 데이터셋은 3d라고 할 수 있다.
Original Set은 Training, Validation, Testing 으로 구분되어 있다.
- 학습: Training
- 최적의 학습횟수 비교: Validation
- 성능평가: Testing
- Validation이 제일 높을 때 기준으로 성능평가를 한다. Validation이나 Testing이나 모두 학습하지 않은 데이터로 검증한 것이기 때문이다.
미니배치란?
- 전체 데이터셋을 한번에 연산장치에 올려 인공지능을 학습시킴
- 데이터셋을 미니배치 단위로 나누어 차례대로 연산 장치에 올려 인공지능을 학습
- 이때 한 epoch은 모든 미니배치를 하나씩 다 돌렸을 때 1이다.
K-Fold Cross Validation은 언제 사용하는가?
- 데이터셋의 크기가 작을 때 사용함.
- 데이터셋을 K개의 그룹으로 나눈다. test를 0, 1... k 번째로 나눠서 사용한다.
- 각 K번의 성능 값의 평균화를 내서, 데이터셋을 더 모아서 이 실험을 진행할지 결정한다.
머신러닝 파이썬 라이브러리 비교
- 파이토치: 페이스북, 구현이 어렵다. 수정하기 쉽다.
- 텐서플로우: 구글, 구현이 쉽다. 수정하기 어렵다.
AI 개발자의 직무 세분화
데이터 분석가, 데이터 엔지니어, 인공지능 리서처, 인공지능 엔지니어
NER (개체명인식)
개체명 인식은 텍스트에서 특정 의미를 가진 단어나 구를 인식하고 분류하는 자연어 처리(NLP) 기술입니다.
임베딩 방법
- 단어수준: 원핫인코딩, Word2Vec, Fasttext
- 문장수준: BOW, TF-IDF, LLM기반
임베딩 랭기지 모델의 역사
- ELMO: 순방향, 역방향 LSTM을 이용하여 다음에 나올 단어를 예측하자. 두 결과를 합침
- 앙상블과 유사
- BERT: 현재 가장 많이 쓰이는 랭기지 모델
- 인코더와 디코더가 구분된다.
- 인코더: 입력 받아서 값을 만듦
- 디코더: 값을 받아서 출력함
- 두 문장이 입력으로 들어간다. 가운데 문장을 예측한다.
- GPT: 이전 단어들로 다음에 나올 단어를 예측
실습
요약
- 목적: RAG를 활용하여, 일기장을 기반으로 챗봇이 답변하게 함.
- 랭기지를 벡터화 함.
- 일기장을 벡터화 함.
- 랭기지 벡터를 일기장 벡터로 찾는 모델이 필요함. (ex: 엘라스틴)
주의사항
- 데이터셋에서 null 값은 꼭 제거하자
- 학습시킬때의 데이터 양식을 지키자.
- ex: pre 학습 시킬때, 항상 데이터를 소문자로 바꿔서 했다면, 우리가 사용할 때도 소문자로 바꿔서 사용하자.
- 사용할 때는 no_grad()를 꼭 사용하자. 파라미터를 업데이트 하면 안되기 때문에
과정
- 임베딩된 shape 는 (영화수, 한 영화의 문장 차원수)
- 복제한 shape 도 (영화수, 한 영화의 문장 차원수)
- cos 유사도를 거친 shape는 (영화수, 영화수)
- a영화의 a-a 관계, b-b관계, c-c관계
Tags:
진로정보_직무