전체 글184 CNN을 이용한 텍스트 분류 ◈ CNN을 사용해서 텍스트 감성 분석 수행하기 ✅ 기본 개념 설명 • CNN은 필터를 이용해서 핵심 정보를 추출하기 때문에, 텍스트 데이터를 분석하더라도 기본적으로 3차원 형태로 표현해야 한다. • (n, m, c) 형태로 표현한다. n : 문서의 길이를 의미함. 즉, 문서를 구성하는 최대 단어 수 (문서의 길이는 동일하게 통일시켜야 함) m : 한 단어를 표현하는 임베딩 벡터의 차원 (단어를 저차원의 임베딩 벡터로 변환할 때, 각 벡터가 가지고 있는 벡터 차원을 의미함) c : 이미지 데이터에서 채널 수, 텍스트 데이터는 1 ✔ 예시 : 문서 : The movie was intersting and enjoyable n=8, m=5, c=1 문서를 임베딩 벡터로 표현한 것을 하나의 이미지로 간주할 수 .. 2022. 1. 18. CNN 사전학습 모델을 이용한 이미지 분류 📚 CNN 사전학습 모델을 사용해서 이미지 분류하기 ✅ 이미지 전처리 - Input 형식 변경 📌 이미지 크기 변경 사전학습 모델마다 입력받는 이미지의 형태가 다르다. VGG 16는 224x224 형태의 컬러 이미지를 입력받기 때문에 이에 맞춰서 학습할 이미지 크기를 변환해야 한다. 대부분의 사전학습 모델은 정사각형 이미지 형태를 입력받는다. 이미지를 정사각형으로 만드는 방식은 다음과 같다. ① Cropping : 정사각형 형태로 가운데를 중심으로 자르기 ② Warping : 가로세로 비율이 다른 이미지를 확대 또는 축소에서 변경하는 방법 → 이미지의 왜곡 발생 ③ Padding : 이미지 일부를 특정 색상으로 채우는 방법. 주로 검정색(0인 값)으로 채우는 zero padding이 자주 사용된다. im.. 2022. 1. 18. CNN 사전학습 모델 - LeNet / AlexNet / VGGNet / InceptionNet / ResNet / DenseNet / MobileNet / EfficientNet 📚 사전학습 모형(pre-trained model)의 종류와 개념 ✅ CNN 기본 개념 📌 CNN 요약 이미지 데이터는 여러 개의 픽셀로 구성되어 있고, 한 개의 픽셀은 3개의 색상정보를 저장하고 있다. 일반 신경망으로 이미지 데이터를 학습할 경우 3차원 이미지를 1차원으로 변환해서 입력하는 과정에서 정보 손실이 발생한다. 또한 파라미터가 굉장히 많아지기 때문에 과적합 가능성이 증가한다. 따라서 CNN은 필터를 이용해서 이미지의 각 부분의 정보를 추출한다. 필터는 이미지의 각 셀들과 내적 연산을 수행(합성곱)하면서 activation map을 생성한다. 이렇게 생성된 activation map은 또 하나의 이미지로 보고 다시 필터를 통해서 정보를 추출하는 과정을 반복한다. 그리고 최종적으로 1차원 데이터.. 2022. 1. 17. 추천 알고리즘 - Matrix Factorization ✅ 협업필터링의 두 가지 방식 ① Memory-based Approach 추천할 때 마다 Raw 데이터를 활용해서 계산하고 추천에 사용하는 방식 • 이전 포스팅에서 다룬 기본적인 협업필터링 알고리즘은 모두 메모리 기반 알고리즘이라고 볼 수 있다. • 계산량이 많기 때문에 현실의 빅데이터를 사용한 모델에는 적합하지 않음 ② Model-based Approach raw데이터로 미리 학습한 모델을 만들어두고, 추천할 때는 미리 학습한 모델로 예측하는 방식 • 모델 기반 접근은 주기적으로 업데이트할 필요가 있다. • Weak Signal 을 파악할 수 있다. 여러 사용자들 사이에서 나타나는 약한 패턴도 파악할 수 있다. 여러 개의 데이터를 동시에 고려해서 공통된 피쳐를 추출할 수 있다. 이를 바탕으로 메모리 기.. 2022. 1. 14. RNN(순환신경망) 기본 📚 RNN(Recurrent Neural Network) 개념 ✅ RNN 이란 • RNN층은 기본 신경망인 FNN의 은닉층 형태와 동일하다. RNN층에서는 하나의 은닉층을 순차적으로 여러 번 반복해서 사용한다. • 텍스트나 비디오 등 순서를 가지고 연속적으로 나열되어 있는 sequence 데이터에 적합함 특히 텍스트 분석에서 단어들의 문맥적 의미 추출 또는 단어 간의 관계 추출에 사용됨. ✅ RNN 작동 방식 • RNN에 텍스트 데이터를 입력하기 위해서는 각 단어를 저차원의 벡터로 표현해야 한다(벡터의 차원 = 벡터의 원소 수) 저차원으로 변환해서 표현한 벡터를 Embedding vector라고 한다. 파이토치 위키독스에 설명이 잘 되어 있음(https://wikidocs.net/60852) • 단어를 .. 2022. 1. 14. CNN(합성곱 신경망) 기본 📚 CNN 기본 개념 ✅ 이미지 처리에 일반 신경망 적용 시 문제점 ① 공간 정보의 손실 FNN(Feed Forward Neural Network)에서는 원래 input 데이터를 reshape 해서 일차원으로 변경한 후에 입력한다. 하지만, 원본 데이터를 row 단위로 자르고 변환하는 과정에서 이웃 픽셀의 정보(spatial information)를 제대로 사용하지 못하기 때문에 정보 손실이 발생한다. ② 파라미터의 수 증가 예를 들어, 1000 x 1000 크기의 컬러 이미지의 input 노드의 수는 1000 x 1000 x 3 = 3,000,000개이다. 첫 번째 은닉층에 은닉 노드가 100개라고 하면, 입력 층과 첫 번째 은닉층의 가중치 파라미터는 3백만x100=3억개가 된다. 3억 개의 파라미터를.. 2022. 1. 13. 이전 1 ··· 19 20 21 22 23 24 25 ··· 31 다음