반응형

인공지능 & 머신러닝 & 딥러닝 개요

인공지능

  • 인공지능은 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동
    • 일반적으로 컴퓨터 프로그램이 하는 일들은 입력되어 있는 로직을 바탕으로 동작하기에 단순한 작업들을 수행하기에는 뛰어난 반면, 더 나아가 사람의 말을 이해하거나 사람 얼굴을 인식하는 등의 작업들은 단순히 개발자가 짠 로직만으로는 성능이 많이 떨어짐
    • 수많은 케이스가 입력되어도 정확도가 높은 결과를 제시하기 위해선 사람의 뇌와 같이 지능적인 작업을 하는 도구가 필요함

머신러닝

  • 현재 인공지능을 구현하기 위한 방식으로는 크게 규칙 기반 시스템(Rule-based system)과 머신러닝 2가지로 나뉨
    • 규칙 기반 시스템: Rule(규칙)을 미리 프로그래머가 작성하는 방식
      • 수많은 경우의 수에 대응하는 데는 한계가 명확하므로 세계관이 좁은 문제를 해결 할 때 사용됨
      • 대표적으로 체스게임(바둑에 비해 단순), 게임 캐릭터의 활동 등
    • 머신러닝: 프로그래머가 만든 모델을 바탕으로 들어오는 데이터를 학습하고 분석
      • 모델 안에는 다양한 알고리즘이 적용되어 있고 학습할 수 있는 로직이 들어가 있음
      • 세계관이 넓고 문제가  다양한 경우에는 사람처럼 학습을 해야 더 높은 정확도의 결과를 도출할 수 있으므로컴퓨터가 직접 학습할 수 있는 머신러닝(Machine Learning)이 각광받음

딥러닝

  • 인공 신경망: 효율이 높은 머신러닝을 구현하기 위해 여러 가지 알고리즘을 연구하던 중 인간의 뇌 구조(뉴런의 연결)에 영감을 받아 만들어낸 알고리즘
    • 현재 대부분의 머신러닝 알고리즘은 '인공 신경망' 알고리즘을 사용
    • 인공 신경망 기술의 핵심은 층층이 들어있는 노드(뉴런 역할)
    • 입력 값을 인공 신경망 모델에 넣으면 순차적으로 노드들을 타면서 수치가 계산되고 최종적으로 결과 값을 반환

  • 딥러닝: '인공 신경망' 기술을 기반으로 수많은 연산을 통해 더 정확한 결과를 예측하는 모델
    • 노드(정확히는 은닉층)를 훨씬 많이 사용해서 깊은(Deep) 인공 신경망 모델을 사용한 방식
    • 컴퓨터 하드웨어 성능이 급성장하며 더 많은 계산과 학습이 가능해졌고, 자연스럽게 인공 신경망의 깊이가 깊어질 수 있었음
  • 최근 우리가 접하는 기사 중 대부분의 머신러닝 기술은 딥러닝 모델을 기반으로 함
    • 구글에서 만든 '티처블 머신' 서비스는 누구나 무료로 머신러닝 모델을 만들 수 있도록 쉬운 UI와 기능을 제공

 

AI 트렌드

초기 딥러닝 모델

  • 딥러닝은 기본적으로 학습을 위해 수많은 데이터를 필요로 함
    • 학습용 데이터를 수집하고 분류(라벨링)하는 것이 학습을 위해 가장 중요
    • 수많은 데이터를 넣어서 학습이 된 이후에야 실제 상황의 데이터가 들어왔을 때 학습된 모델이 올바른 값을 내려줄 수 있기 때문
  • 학습 데이터를 바탕으로 정의된 문제에는 강점을 보이지만 다른 범주의 문제는 잘 해결하지 못 한다는 문제점 존재
    • 사람 얼굴을 인식하는 딥러닝 모델은 고양이 얼굴을 인식할 때는 낮은 정확도를 보임
    • 즉 수많은 사람 얼굴 사진을 수집해서 학습시킨 모델은 고양이 인식에는 쓸모가 없음
    • 그래서 초기에는 조금씩 다른 유형의 모델을 만들려면 데이터를 전부 새로 수집해야 하는 번거로움이 존재하였음

Transfer Learning (전이 학습)

  • 전이 학습(Transfer Learning): 기존의 학습된 모델을 일부 변형해서 학습시키는 것
    • 과거처럼 전부 다시 학습 시킬 필요 x 
    • 사람 얼굴을 인식하는 모델에서 조금만 고양이 얼굴 관련된 학습을 시키면 고양이도 인식할 수 있음
    • 대표적인 전이 학습 방식으로 파인 튜닝(Fine Tuning)
  • 파인 튜닝: 기존에 보유한 데이터로 학습을 한 번 시킨 후 진짜 필요한 학습 데이터 일부로 새롭게 학습시키는 기술
    • 적은 데이터로도 높은 성능을 낼 수 있음
    • 기존에 있는 데이터들을 잘 활용하면 새롭게 학습할 데이터가 많이 없어도 됨
  • 대표적인 전이학습 모델로 텍스트 기반 모델인 GPT-2, 이미지 기반 모델인 GAN 등이 있음
    • GAN 모델은 딥페이크의 기반 모델

Few Shot Learning

  • 파인튜닝 기술을 적용하더라도 많은 데이터를 필요로 함
    • 더 적은 데이터로도 정확도가 높은 모델 필요
    • 고양이 사진을 한 번 보고도 수많은 다른 고양이 사진들에 고양이가 있다는 것을 알기 위함
  • 퓨삿 러닝(Few Shot Learning): 적은 데이터로도 학습이 가능하게 하는 방식
    • 이를 가능하게 하기 위해선 적은 데이터를 바탕으로 유사한 데이터를 생성하거나 고차원의 학습 데이터들(ex. 이미지)을 저차원(ex. 숫자)으로 변환해서 특징을 잡아내는 기술 등을 필요
    • 현재 퓨샷 러닝에 관해 활발한 연구가 진행되고 있어 나중에는 적은 데이터만으로 높은 성능을 내는 모델이 만들어질 것이라고 전문가들은 예측
  • 퓨샷 러닝이 적용된 기술 대표적인 기술 GPT-3가 있음

 

Reference

https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#

 

IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z - 인프런 | 강의

본 강의는 멤버십 구독 개념으로 한 번 구매하면 계속 추가되는 수업도 수강할 수 있습니다😃, [사진] 이 강의는!  단순히 개발 용어만을 알려주지 않습니다.IT 회사에서 개발자들이 실제로 하

www.inflearn.com

https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304

 

[IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩

장담하건대 이 내용들만 알고 계시면 IT 개발의 전체적인 흐름은 전부 파악한다고 보셔도 무방합니다.

www.grabbing.me

 

반응형

'비개발자의 개발 지식 스터디 > 데이터' 카테고리의 다른 글

그로스 해킹  (0) 2023.07.26
데이터 직군  (0) 2023.07.26
데이터의 전체 프로세스  (0) 2023.07.26
반응형

GAN

GAN은 Generative Adversarial Nets이라는 논문을 통해 나온 모델로 진짜와 동일해 보이는 이미지를 생성하는 모델이다.

GAN은 크게 3가지 Unconditional GAN, Conditional GAN, Super Resolution으로 분류된다.

초기 GAN의 아키텍처는 다음과 같이 Generator(생성자)와 Discriminator(판별자)로 구성되었다.

GAN은 Generator와 Discriminator로 이루어져 있어 동시에 두 개의 모델을 훈련하는 것이 특징이다. 여기서 z라고 하는 것은 랜덤 벡터 z를 의미하는 것으로 오른쪽 그림의 uniform distribution이나 normal distribution을 따른다고 한다.

 

이 랜덤 벡터 z를 Generator의 입력으로 넣어 Fake를 생성한 후  Fake와 실제 Real 이미지를 Discriminator의 입력으로 넣어 Fake 또는 Real을 출력 받는다.

 

GAN은 최종 출력인 Fake와 Real의 확률이 1/2에 수렴하여 진짜와 가짜를 구분할 수 없도록 학습하게 된다.

 

DCGAN

DCGAN의 아키텍처는 Generator(생성자)에 Transposed Convolutional Network를 사용하여 Up-Sampling하는데 사용하였다.

Trasnposed Convolutional Network의 경우 기존의 컨볼루션 네트워크처럼 줄어드는 것이 아닌 확대되는 것이라 할 수 있으며 최적의 성능을 내기위해 다음과 같이 5가지 트릭을 적용하였다.  

1.미분이 불가능한 Pooling Layer를 제거하고 미분 가능한 Convolution 레이어로 대체하였다.

2. BatchNormalization 레이어를 추가하였다.

3. fully-connected hidden layer를 삭제하였다.

4. 생성자 모델에 ReLU 함수를 적용하고 출력의 activation function은 Tanh로 설정하였다.

5. 마지막으로 판별자 모든 레이어에 LeakyReLU를 적용하여 유연성을 더하였다.

 

이와 같이 DCGAN을 통해 벡터 산술 연산이 가능하게 되었다.

DCGAN의 주요 contribution은 다음과 같다.

1.대부분의 상황에서 언제나 안정적으로 학습하는 Convolution GAN 구조를 제안하였다.

2.word2vec과 같은 벡터 산술 연산이 가능하여 Generator를 semantic 수준에서 데이터를 생성할 수 있다.

3.판별자가 학습한 필터들을 시각화하여 특정 필터들이 특정 물체를 학습했다는 것을 보였다.

4.학습된 판별자 모델이 다른 비지도 학습 알고리즘과 비교해서 뒤쳐지지 않는 분류 성능을 보였다.

5.GAN 연구의 시작점이 될 수 있게 만들어준 연구라고 볼 수 있다.

 

PGGAN & StyleGAN

PGGAN은 NVIDIA에서 진행한 연구로 핵심 아이디어는 4x4의 저해상도 이미지를 1024x1024 고해상도 이미지로 단계별(Progressive Growing)로 학습한다는 것이다.

기존에는 처음부터 고해상도 이미지를 학습하려다 보니 학습이 올바르게 되지 않았는데, 저해상도에서 보이는 Abstract을 우선적으로 학습 한 뒤 고해상도에서 보이는 Concrete(눈, 코, 입, 모공 등)를 학습하면서 품질이 향상되었다.

 

StyleGAN은 여기에 Style-based generator를 사용하는 구조이다. 이러한 PGGAN의 장점은 크게 3가지로 나뉜다.

1. 작은 이미지부터 점진적으로 학습하기 때문에 안정성 있다.

2. 처음부터 복잡한 질문을 하지 않기에 간단하다.

3. 저해상도에서 학습할 때 충분한 학습을 하게 되며 학습 시간이 짧다.

 

 

반응형

'AI 서비스 구축 스터디 > 모델 조사' 카테고리의 다른 글

YOLO  (0) 2023.04.04
BERT  (0) 2023.04.04
Whisper  (0) 2023.04.03
ChatGPT  (0) 2023.04.03
Transformer  (0) 2023.04.03
반응형

Whisper(Web-scale Supervised Pre-training for Speech Recognition)

2022년 9월 OpenAI에서 공개한 트랜스포머 기반의 음성 인식 모델로, 68만 시간 이상의 음성 데이터를 학습하여 인간의 인식과 비슷한 수준의 성능을 확보하였다.

 

음성을 인식하여 텍스트로 변환하거나 번역을 수행할 수 있으며 현재 large-v2 버전이 업데이트되어 API로 이용할 수 있다.


Encoder의 입력 데이터가 음성 파일인 것을 제외하면 일반적인 트랜스포머 구조를 가지고 있다.

Special token을 활용하여 다양한 Task가 가능하도록 설계되었다.

한국어 데이터가 학습 데이터에 높은 비율로 포함되어 있어, 한국어 서비스에의 활용이 기대가 된다.

 

Whisper API 사용법

https://jobdahan-tech.tistory.com/entry/ChatGPT

 

ChatGPT

ChatGPT란 GPT(Generative Pre-trained Transformer)-3는 OpenAI에서 공개한 트랜스포머 구조 기반의 사전 학습된 언어 생성 모델로, 인간과 유사한 텍스트를 생성할 수 있다. https://jobdahan-tech.tistory.com/entry/Transfo

jobdahan-tech.tistory.com

위의 ChatGPT API 사용법을 이용하여 OpenAI 라이브러리까지 설치한다.

 

Transcription(텍스트 변환), Translation(번역) 두 개 기능을 지원하며 Transcription은 다중 언어를 지원하고 Translation은 영어로만 가능하다.

Github과 Huggingface를 통해서도 사용 가능하다.

 

Reference

https://platform.openai.com/overview

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

 

반응형

'AI 서비스 구축 스터디 > 모델 조사' 카테고리의 다른 글

BERT  (0) 2023.04.04
GAN  (0) 2023.04.03
ChatGPT  (0) 2023.04.03
Transformer  (0) 2023.04.03
Naver Clova  (0) 2023.04.03
반응형

ChatGPT란

GPT(Generative Pre-trained Transformer)-3는 OpenAI에서 공개한 트랜스포머 구조 기반의 사전 학습된 언어 생성 모델로, 인간과 유사한 텍스트를 생성할 수 있다.

https://jobdahan-tech.tistory.com/entry/Transformer

 

Transformer

Transformer Transformer는 RNN 언어 모델에서부터 시작었다. 기존의 RNN은 하나의 고정된 크기의 벡터(Context vector)에 모든 정보를 압축하므로 정보 손실이 발생하며 순차적 입력 구조 때문에 먼저 입력

jobdahan-tech.tistory.com

GPT-3는 약 1750억 개의 파라미터를 가지고, 메타 학습(Meta learning)인간의 피드백을 통한 강화 학습(Reinforcement learning)을 수행하여 더욱 인간과 유사하며 정확한 답변을 생성한다.

 

ChatGPT는 GPT-3를 챗봇 기능에 특화시키고, 모델의 윤리성을 보완한 모델이며 GPT-3.5라고도 한다.

 

Meta Learning

메타 학습은 GPT가 추가적인 학습을 할 필요 없는 이유학습 데이터에 없었던 데이터에 대해서도 자체적인 유사도 계산을 통해 분류가 가능하도록 학습한다.(Learning to learn)

zero/one/few-shot learning은 적은 수의 샘플 만으로 답변을 예측할 수 있도록 학습하므로 미세 조정(fine-tuning) 없이 간단한 instruction/example만으로도 문맥에 맞는 답변을 유추할 수 있다.

 

RLHF(Reinforcement learning from human feedback)

GPT가 사람과 유사한 답변을 할 수 있는 이유로 GPT-3는 사람이 직접 답변 생성 결과에 score를 매기고, 이를 별도의 보상 모델(Reward model)을 이용해 높은 score를 가지는 방향으로 학습한다.

 

ChatGPT API 사용법

1. https://platform.openai.com/overview 접속 & 로그인

2. 프로필 클릭 후 Manage account 클릭

2. User -> API Keys 메뉴에서 API Key 발급 (API Key는 생성시에만 확인 가능하므로 백업 필수)

3. Billing -> Payment methods -> Add Payment method 메뉴에서 결제 카드 정보 등록(등록 완료시 자동으로 허용 한도 내 API 사용 가능)

4. Billing -> Usage limits 메뉴에서 월 사용량 한도 설정

5. ChatGPT API 설치

- pip install openai를 실행하여 OpenAI 라이브러리 설치

- API Key 설정

6. ChatGPT 생성 모듈 구성 요소 설정

- system: 챗봇이 어떤 방향으로 답변을 할 지 결정

- user: 사용자의 입력 텍스트

- assistant: 챗봇의 이전 답변, 이전 답변을 바탕으로 대화를 이어나갈 수 있음

7. 챗봇 구현

- 챗봇의 답변을 다시 챗봇 모듈에 넣어 대화가 지속될 수 있게 함

 

Reference

https://platform.openai.com/overview

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

 

반응형

'AI 서비스 구축 스터디 > 모델 조사' 카테고리의 다른 글

GAN  (0) 2023.04.03
Whisper  (0) 2023.04.03
Transformer  (0) 2023.04.03
Naver Clova  (0) 2023.04.03
간단한 AI 웹서비스 예제  (0) 2023.04.03
반응형

Transformer

Transformer는 RNN 언어 모델에서부터 시작었다.

기존의 RNN은 하나의 고정된 크기의 벡터(Context vector)에 모든 정보를 압축하므로 정보 손실이 발생하며 순차적 입력 구조 때문에 먼저 입력된 단어의 정보가 잘 반영되지 않는(Vanishing gradient) 단점이 존재한다.

Attention

이를 보정해주기 위한 어텐션(Attention) 기법이 등장했지만, 순차적 입력 구조는 그대로이므로 성능 개선에 한계가 있다.

어텐션은 입력 문장 내의 단어들끼리 유사도를 구함으로써 특정 단어와 연관된 확률이 높은 단어를 찾으므로 RNN의 정보 손실 문제를 해결할 수 있다.

트랜스포머는 각 단어의 임베딩 벡터에 위치 정보들을 더하여 모델의 입력으로 사용(Positional encoding)하므로 RNN처럼 단어를 순차적으로 입력하지 않아도 되어, Self-attention이 가능하다.

 Self-attention 알고리즘이 사용된 모델을 일반적으로 Transformer라 한다.

GPT는 인코더-디코더 구조의 트랜스포머에서 디코더만 사용한다. 디코더는 대상 단어 앞의 단어만 Attention에 참고하여 뒷 단어를 예측하므로 텍스트 생성 Task에 더 강하다.

 

Reference

https://www.youtube.com/watch?v=mxGCEWOxfe8 

https://jalammar.github.io/illustrated-transformer/

 

The Illustrated Transformer

Discussions: Hacker News (65 points, 4 comments), Reddit r/MachineLearning (29 points, 3 comments) Translations: Arabic, Chinese (Simplified) 1, Chinese (Simplified) 2, French 1, French 2, Japanese, Korean, Persian, Russian, Spanish 1, Spanish 2, Vietnames

jalammar.github.io

 

반응형

'AI 서비스 구축 스터디 > 모델 조사' 카테고리의 다른 글

Whisper  (0) 2023.04.03
ChatGPT  (0) 2023.04.03
Naver Clova  (0) 2023.04.03
간단한 AI 웹서비스 예제  (0) 2023.04.03
AI 모델 조사 시작  (0) 2023.04.03
반응형

Naver Clova

네이버 클로바(Naver Clova)는 네이버에서 개발한 인공지능 플랫폼이며 검색 기능, 날씨 정보, 음악 추천 및 재생, 번역, 영어 프리토킹 등 다양한 기능들을 제공한다.

이러한 다양한 AI 서비스 중 무료로 체험해볼 수 있는 Clova sentiment, Summary 서비스를 이용해보도록 한다.

 

Clova Sentiment

한국어에 최적화된 감정 분석 기술 서비스로 블로그, 댓글, SNS 등 한글로 작성된 글 속에 표현된 감정을 분석해 주는 API이다.

Clova Sentiment 예시

Clova Sentiment 요금

 

Clova Summary

문서 주제와 관계 없이 사용할 수 있는 API로 문서에서 가려낸 주요 내용을 기반으로 전체 내용을 간결하게 요약한다.

Clova Summary 예시

Clova Summary 요금

 

Clova API 사용법

1. 네이버 클라우드 플랫폼 접속(www.ncloud.com) & 로그인

2. 결제 수단 등록 (마이페이지 -> 결제수단 관리 -> 결제수단 등록)

3. 콘솔 접속

4. Service 중 AI API 서비스 선택 (Service -> AI NAVER API)

5. Application 등록 (이름 설정 -> 사용할 api 서비스 선택)

6. 인증 정보(key) 확인 - Client ID / Password

7. API 가이드 참고하여 사용법 확인 (요청 Http, 헤더, 바디, 응답 바디, 예제 등 확인)

8. API 이용하여 서비스 사용 (key값&API http 입력 -> input data 입력 -> output 출력)

9. 한도 설정으로 유료 전환 방지

 

Reference

www.ncloud.com  

 

NAVER CLOUD PLATFORM

cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification

www.ncloud.com

 

반응형

'AI 서비스 구축 스터디 > 모델 조사' 카테고리의 다른 글

Whisper  (0) 2023.04.03
ChatGPT  (0) 2023.04.03
Transformer  (0) 2023.04.03
간단한 AI 웹서비스 예제  (0) 2023.04.03
AI 모델 조사 시작  (0) 2023.04.03
반응형

IT 회사에서 데이터 분석가로 시작하여 기획부서로 넘어오며 기존에 전공을 하며 관심을 가졌던 데이터 분석, ML, DL 등의 데이터 분야에 점점 멀어지는 것에 아쉬움을 느끼던 차, 회사에서 AI 서비스 구축 스터디를 참여하게 되었다.

 

처음 기획부서에 넘어왔을 때, 데이터를 이용한 분야는 기술의 발전이 빠르고 기술의 R&D 분야에서는 너무 뛰어난 사람이 많으며 AI가 점점 발전하며 대체될 것이라 생각하였고 이를 따라가는 것보다 잘 활용하는 능력이 더욱 중요해질 것이라 생각하여 기획에 관심을 갖게 되었다.

 

하지만 현실적으로 회사에서 내가 원하는 기획을 해볼 수 있는 기회가 없고, 간단한 웹/앱이라도 통째로 서비스를 기획하고 구축하는 프로세스를 경험하는 것이 쉽지 않다는 것을 알게 되었다.

 

이번 스터디를 계기로 AI를 비즈니스적으로 잘 활용할 수 있는 방법을 기획하고 서비스를 구축하는 경험을 하며 서비스 구축 프로세스의 전반적인 역량을 키우고 빠르게 변화하는 기술을 잘 활용하는 능력을 키울 수 있을 것이라 기대가 된다.

반응형

+ Recent posts