1️⃣ LSTM (Long Short Term Memory) ▶ LSTM 이란? Long Short Term Memory = 장단기 메모리 → 장기 의존성과 단기 의존성을 모두 기억할 수 있다는 의미 - Vanilla RNN의 기울기 소실 문제를 해결하고자 등장했다. - 새로 계산된 hidden state를 출력값으로도 사용한다. - Vanilla RNN과 내부 연산 방식만 다르고 입력값, 출력값은 Vanilla RNN처럼 사용할 수 있다. (Vanilla RNN을 사용한 부분의 모델을 LSTM으로 바꿔서 사용 가능) 💡 RNN의 장기 의존성 문제 RNN은 시계열 데이터와 같은 순차 데이터의 경향성을 학습하는 데 훌륭한 성능을 제공한다. 하지만 모델 학습에 사용하는 데이터의 길이(sequence)가 길어..
드디어 엘리스 AI트랙의 마지막 일정이 될 3차 팀 프로젝트가 시작되었다. 3차 프로젝트는 "인공지능 웹 서비스 프로젝트"이다. 그동안 배운 웹 개발 지식, 데이터분석 기법, 머신러닝, 딥러닝 지식을 활용하여"인공지능 기술이 적용된 웹 서비스"를 제작해야 한다. 사실 오늘이 프로젝트 시작 1일차는 아니고 팀 구성 결과발표가 난 날인데모든 팀은 엘리스 측에서 랜덤으로 구성해주는데 정말 놀랍게도 프론트엔드 개발자 지망 5명이서 한 팀이 되었다...ㅋ...ㅋ 하지만 이겨냅니다.. 삐롱히죠? 일단 주제를 잘 잡는게 중요하다고 생각되는데 주제는 엘리스 측에서 제안한 주제를 선택할 수도 있고 자유주제로 선택할 수도 있다. 아 그리고 프로젝트 시작 전 사전조사에서 인공지능 모델을 자연어 처리를 다룰 것인지,..
1️⃣ 한국어 자연어 처리 ▶ 자연어 처리의 기본 요소 - 자연어 처리의 기본은 단어 추출에서 시작 - 텍스트의 단어를 통해 문장의 의미, 구성 요소 및 특징을 파악 가능 ▶ 한국어에서의 단어 - 한국어에서 단어의 기준은 명확하지 않다. - 교착어인 한국어에서 단어는 의미적 기능을 하는 부분과 문법적인 기능을 하는 부분의 조합으로 구성된다. → 한국어 자연어 처리에서는 단어의 의미적 기능과 문법적인 기능을 구분하는 것이 중요 2️⃣ KoNLPy ▶ 형태소 분석 형태소 분석이란 ? : 주어진 한국어 텍스트를 단어의 원형 형태로 분리해 주는 작업 ▶ KoNLPy : 여러 한국어 형태소 사전을 기반으로 한국어 단어를 추출해 주는 파이썬 라이브러리 - 각 형태소 사전별 형태소 표기 방법 및 기준의 차이가 존재한..
1️⃣ 모델 저장하고 불러오기 ▶ 모델의 구성요소 1) 모델의 구조 - 레이어의 종류와 형태 - 입력 값의 형태 2) 가중치 값 - 각 레이어의 행렬에 저장된 실제 float32 실수 값들 - 모델의 학습 = Loss값이 낮아지도록 가중치의 값을 수정하는 과정의 연속 (학습된 가중치가 있다면 직접 학습할 필요없이 사용 가능) - 같은 모델도 가중치 값에 따라 성능이 달라짐 3) Compile 정보 - Optimizer의 종류, Learning Rate(lr), 사용한 Loss Function 정보 - 모델을 학습시키기 위한 정보들 (모델을 학습시키지 않고 사용만 할 목적이라면 위 정보들은 Compile 정보는 필요 없음) ▶ 모델의 저장 형식 1) H5 Format - 과거 Keras에서 사용하던 저장 ..
1️⃣ Generic 이란? 정적 type 언어는 클래스나 함수를 정의할 때 type을 선언해야 한다. 예를 들어, C언어는 int type 변수를 선언하면 정수형 값만 할당할 수 있다. Generic은 코드를 작성할 때가 아니라 코드가 수행될 때 타입을 명시한다. (클래스나 메서드에서 사용할 내부 데이터 type을 외부에서 지정하여 정의 시점이 아니라 생성 시점에 타입을 명시할 수 있게함 → 코드의 재사용성이 높아짐) 코드를 작성할 때 식별자를 써서 아직 정해지지 않은 타입을 표시한다. 일반적으로 식별자는 T, U, V, ...를 사용 필드 이름의 첫 글자를 사용하기도 함 ▶ Generic을 사용하는 이유 1) 재사용성이 높은 함수와 클래스 생성 가능 - 여러 타입에서 동작이 가능하다. (한 번의 선언..
1️⃣ Interface란? 일반적으로 변수, 함수, 클래스에 타입 체크를 위해 사용된다. - 직접 인스턴스를 생성할 수 없고 모든 메소드가 추상 메소드이다. - 추상 클래스의 추상 메소드와 달리 abstract 키워드는 사용할 수 없다. - ES6는 interface를 지원하지 않지만 TypeScript는 interface를 지원한다. function sayName(obj: { name: string }) { console.log(obj.name); } let person = { name: "june" }; sayName(person); 위 코드를 interface로 표현하면 아래와 같다. interface Person { name: string } function sayName(obj: Person)..
1️⃣ 순차 데이터란? ▶ RNN과 순차 데이터 - RNN(Recurrent Neural Network)은 CNN과 함께 대표적인 딥러닝 모델 - 시계열 데이터 같은 순차 데이터(Sequential Data) 처리를 위한 모델 RNN의 이해에는 순차 데이터가 가지는 특징의 이해가 필요하다. 순차 데이터 - 순서(Order)를 가지고 나타나는 데이터 - 데이터 내 각 개체 간의 순서가 중요 - 날짜에 따른 기온 데이터나 단어들로 이루어진 문장 등 순차 데이터 종류 1) 시계열 데이터 (Time-Series Data) - 일정한 시간 간격을 가지고 얻어낸 데이터 ex) 연도별 대한민국의 평균 기온, 시간별 주식 가격 기록 등 2) 자연어 데이터 (Natural Language) - 인류가 말하는 언어를 의미..
1️⃣ 자연어 처리 ▶ 자연어 처리 란? 자연어 처리(Natural Language Processing, NLP)는 컴퓨터를 통해 인간의 언어를 분석 및 처리하는 인공지능의 한 분야 자연어 처리의 적용 사례 문서분류, 키워드 추출, 감정 분석, ... 학습 가능한 데이터양의 증가 및 연산 처리 속도의 발전으로 자연어 처리 또한 더욱 복잡한 머신러닝 알고리즘 적용 가능 → 자연어 처리 + 머신러닝 머신러닝 기반 자연어 처리의 적용 사례 문서 요약, 기계 번역, 챗봇, ... 2️⃣ 텍스트 전처리 ▶ 모델링을 위한 데이터 탐색 및 전처리 데이터 전처리를 하는 이유 → 모델이 좀 더 효과적이고 효율적으로 작동하기 위해 → GIGO (Garbage In, Garbage Out) 데이터 탐색 - 데이터 통계치 e..
1️⃣ 이미지와 Convolution 연산 ▶ Fully-connected Layer와 이미지 데이터 FC Layer는 1차원 데이터를 요구한다. 이미지를 단순하게 1차원으로 바꾸면 2차원 상에서 가지는 정보를 포기해야한다. - 이미지 내 사물 간의 거리 관계 등 - 색의 변화 (특히, 세로로 변하는 상황) → 즉, 공간 정보(Spatial Information)가 무너진다. 따라서, 이미지 처리에 특화된 딥러닝 모델이 등장 : Convolutional Neural Network CNN의 대표적인 구성 요소 - Convolutional Layer - Pooling Layer - 분류기(Classifier): Fully-connected layer ▶ Convolution 연산 : CNN을 구현하는 핵심 ..
1️⃣ 이미지 데이터란? ▶ CNN과 이미지 데이터 - CNN은 대표적인 딥러닝 모델 - 이미지 분석 작업에 최적화된 성능을 보인다. (CNN이 이미지 분류만을 하기 위한 모델은 아니지만 분류를 잘 하기 위한 방향으로 발전된 모델이다) - CNN이 이미지 데이터를 잘 학습하는 원리를 알기 위해서 이미지 데이터를 이해할 필요가 있다. 이미지 데이터 - 사진, 그림 등을 컴퓨터로 저장한 데이터 - JPG, PNG 등 픽셀 (Pictures Elements) - 이미지는 픽셀이라 불리는 점을 기반으로 구성된다. - 각 픽셀은 색깔이나 밝기 정보를 가진다. - 이러한 픽셀이 가로, 세로로 모여 2차원 이미지를 형성한다. - Pictures Elements → Picel → Pixel 이미지 데이터 종류 1) 컬..