transformer 모델의 등장 Attention Is All You Need 2017년 자연어 처리 논문에서 처음 제안(By google) 논문에서 제안된 트랜스포머의 구조는 현재 사용되는 거의 모든 자연어 처리 관련 모델의 선조 등장 이후 자연어 처리 분야를 평정했을 만큼 트랜스포머는 강력했으며 언어적 특징을 가장 잘 고려한 모델 현재 자연어 전이 학습 사전 훈련 모델은 거의 모두 트랜스 포머의 변형임 모든 기존 정보를 다 뒤집는 경우 SOTA(State Of The Art) 트랜스포머의 ENCODER로 만든게 BERT 트랜스포머의 DECODER로 만든게 GPT 전이학습 개요 데이터가 충분하지 않은 상황에서 방대한 자료를 통해 미리 학습한 가중값을 가져와서, 다양한 분야에 사용 전이학습 자연어처리 ..
텍스트 분석 텍스트 분석이란? 다양한 형태의 텍스트 (문자열 타입의 데이터)를 컴퓨터를 이용하여 수집하고, 이를 통계 혹은 기계학습 등의 방법을 사용해서 분석하는 것. 텍스트 분석을 통해서 텍스트의 특성을 파악하고 텍스트가 담고 있는 정보와 특정 주제에 대한 여러가지 인사이트를 얻을 수 있음. 텍스트 데이터의 종류 텍스트 데이터에는 신문기사, 블로그, 사회연결망사이트의 글 (예, Tweets), 댓글, 상품 정보, 연설문, 이메일 등 굉장히 다양한 종류가 존재함. NLP vs Text Analysis 자연어처리 머신이 인간의 언어를 이해하고 해석하는데 중점. 기계번역, 자동 질의 응답 시스템 텍스트 분석 머신러닝, 언어 이해, 통계 등을 활용해 모델을 수립하고 정보를 추출해 비즈니스 인텔리전스나 예측 분..
다층 RNN 긴 시퀀스 학습의 어려움 손실함수의 그레디언트를 계산할 때, 곱셈항 때문에 소위 그레디언트 폭주(exploding gradient) 또는 그레디언트 소실(vanishing gradient) 문제가 발생 그레디언트 소실과 폭주 장기 의존성 문제와 RNN의 한계 순환 신경망의 핵심 아이디어는 이전에 발생한 정보를 현재의 작업에 연결시켜주는 기능이 있다는 점 실제로 매우 유용할 것만 같은 순환 신경망은 잘 작동하는 경우도 있으나 그렇지 못한 경우도 많이 발생한다 LSTM(LONG-SHORT-TERM MEMORY) 불안정한 그레디언트 문제와 싸우기 훈련이 불안정하다고 느껴지면 그레디언트의 크기를 모니터링하고 (예를 들어 텐서보드 사용), 그레디언트 클리핑을 사용하는 것이 좋음단기 기억 문제 해결하기..
피드포워드(feedforward neural network 신경망의 한계) 앞서 배운 신경망들은 모든 신호가 오직 출력층 방향으로만 향함. 일반적으로 지도 학습을 위한 머신 러닝 알고리즘은 입력데이터가 독립 동일 분포(Independent and Identically Distributed, IID)라고 가정함 즉 훈련 샘플이 상호독립적이고 같은 분포에 속한다는 의미 상호 독립 가정에 기반한다는 점에서, 모델에 전달되는 훈련 샘플의 순서와 학습이 관계가 없음 이러한 신경망의 단점은 한 시점의 이미지나 정보만을 이용한다는 점 순차 데이터(시퀀스 데이터 또는 시퀀스(Sequence)의 특징) 순차데이터 모델링 : 순서를 고려한다. 다른 데이터 타입과 다르게 시퀀스는 특별함. 시퀀스의 정의가 순서를 고려하기 때..
비전인식 분류(Classfication) 검출(탐지, Object Detection) 분할 추적 행동분류 객체탐지/객체 검출 컴퓨터 비전 AI 기술이 가장 많이 응용되는 분야(자율 주행 자동차) 여러개의 물체(객체)를 찾아 위치와 레이블을 알아냄 객체 탐지 작업 단계 입력 이미지에서 여러개의 객체를 찾아내고, 객체를 둘러싼 네모박스(경계박스, 바운딩박스)를 그리는데, 객체의 경계를 나타내는 좌표값은 회귀 알고리즘으로 구함. 위치를 찾아낸 각 객체가 어떤 클래스에 속하는지 분류 알고리즘으로 알아냄 객체 탐지 구현 알고리즘 2단계 방법(2STEP METHOD) 후보 영역을 생성하는 단계와 분류하는 2단계를 거침(RCNN, R FCN, G-RCNN) 1단계 방법(1STEP METHOD) 위치와 분류 정보를 한..
tf.keras.preprocessing.image.ImageDataGenerator 이미지 데이터를 읽고 신경망에 적합한 입력이 되도록 가공시켜주는 클래스 사진 파일을 읽음 JPEG 콘텐츠를 RGB 픽셀값으로 디코딩 그다음 부동 소수 타입의 텐서로 변환함 픽셀값(0에서 255 사이)의 스케일을 [0, 1] 사이로 조정함(신경망은 작은 입력값을 선호함) ImageDataGenerator # 케라스로 ImageDataGenerator 클래스 함수를 실행하고 # rescale 옵션을 지정해 이미지 각 픽셀의 값을 0~1로 정규화한다. # 생성된 제너레이터 객체를 image_gen 변수에 할당한다. image_gen = ImageDataGenerator(rescale = (1/255.)) image_genfl..
Keras 인공 신경망 모델 정의 방법 모델을 정의하는 방법은 두 가지임 Sequential 클래스(가장 자주 사용하는 구조인 층을 순서대로 쌓아 올린 네트워크) 함수형 API(완전히 임의의 구조를 만들 수 있는 비순환 유향 그래프를 만듦)를 사용함 Sequential Class를 사용한 경우 from keras import models from keras import layers model = models.Sequential() model.add(layers.Dense(32, activation = 'relu', input\_shape = (784,))) model.add(layers.Dense(10, activation = 'softmax')) 함수형 API를 사용한 경우..
합성곱 신경망 합성곱 신경망의 등장 기존 신경망의 문제점 순방향 신경망의 펼쳐진 1차원 벡터 형태에서는 모니터의 특징을 찾기가 쉽지않음(공간 데이터를 1차원으로 전환하면 형상 정보가 분산되기 때문에 패턴을 찾기 어려워짐) 이미지 내의 특정한 영역에 대해 원래의 이미지가 가지는 기하적 관계를 유지한채로 살펴보는 것이 필요 합성곱 신경망 : 컨벌루션 계층 : 컨벌루션 연산을 통해 이미지의 특정한 영역을 각각의 특징으로 변환 서브 샘플링 계층 : 플링 연산을 통해 이미지의 크기를 줄여 특징의 이동에 대한 위치 불변성 부여 합성곱신경망(CNN; Convolutional Neural Network – 합성곱 신경망은 이미지 처리에 탁월한 성능을 보이는 신경망이다. 다층 퍼셉트론은 이미지 처리에서 한계를 보인다. ..
딥러닝 모델 세부 설정 모델 초기값 설정 : get_config() 레이어의 초기값을 개발자가 지정할 수 있다. (예제) mnist 데이터셋 활용 dense = tf.keras.layers.Dense(256, activation = 'relu') dense.get_config() 'kernel_initializer' : 레이어 초기화 방법 지정(기본값, glorot_uniform) 'kernel_regularizer' : 과대 적합 규제 적용(기본값, None) 모델 규제 과대적합을 피하기 위해 모델을 구성하는 레이어마다 l1, l2 규제 설정이 가능 kernel_regularizer 활용 # 규제 적용 dense = tf.keras.layers.Dense(25..
개요 구글 Tensorflow - keras 병합 kera는 text 처리에 유용한 라이브러리였음 BERT(구글꺼) 메타 이미지 쪽으로 특화된 라이브러리를 개발 시작 = pytorch 그런데 이제는 text 처리를 pytorch에도 쓰고 keras를 이미지 처리에도 쓰는 둘다 괜찮은 라이브러리임 미세조정 딥러닝 : 미리 만들어놓은 어느정도의 모델들을 미세 조정(미세 학습)하여 Fine Tuning 본인들에게 맞춤하는 영역으로 가고 있음 ex ) Ko-Bert 미세 조정은 pytorch로 함 - 그래서 pytorch 진형 tensorflow 진형 구분이 어렵다. - tensorflow, keras 위주로 실습하겠다. 다만 pytorch도 사용할 수 있게끔 준비하자. 인공지능, 머신러닝 , 딥러닝 인공지능 ..
군집 평가(Cluster Evaluation) 실루엣 분석(sillhouette analysis) 각 군집 간의 거리가 얼마나 효율적으로 분리되었는지 나타냄 클러스터 내 데이터들이 얼마나 조밀하게 모여있는지 측정하는 도구 다른 군집과 거리는 떨어져있고, 동일 군집끼리의 데이터는 잘 뭉쳐있어야함 군집화가 잘 이루어질수록, 개별 군집은 비슷한 정도의 여유 공간을 가지고 떨어져 있음. 실루엣 계수(Silhouetta coefficient) : 개별 데이터가 가지는 군집화 지표 해당 데이터가 같은 군집 내의 데이터와 얼마나 가깝게 군집 되어있고, 다른 군집에 있는 데이터와는 얼마나 멀리 분리 되어있는지 나타내는 지표 군집 간 비교시, 가장 가까운 군집만 비교해서, 그림에서 군집 C는 무시한다. 군집화 결과 판단..
극도의 불균형 데이터세트의 학습 : 학습을 제대로 수행하기 어려움 오버샘플링, 언더샘플링 지도학습에서 극도로 불균형한 레이블 값의 분포로 인한 문제점을 해결하기 위해 적절한 학습 데이터를 확보하는 방안 오버샘플링 : SMOTE 방식 근접 값 기준으로 중심에 데이터를 생성하는데, 신규 증식하여 오버 샘플링한다. 이상치(Outlier) 데이터 이상치 데이터 : 전체데이터의 패턴에서 벗어난 이상 값을 가진 데이터 이상치로 인해 머신러닝 모델의 성능에 영향을 받는 경우가 발생하기 쉽다. 이상치를 찾는 방법 : IQR(Inter Quantile Range)방식, 사분위(Quantile) 값의 편차를 이용하는 기법, 박스플롯으로 시각화 사분위 : 전체 데이터를 정렬하고, 25% 구간으로 분할(순위제) IQR : Q..