텐서플로 (6) 썸네일형 리스트형 임베딩(Embedding) 순환신경망(Recurrent Neural Network, RNN) 1. 임베딩■ 컴퓨터는 사람이 사용하는 자연어(한글, 영어 등)를 그대로 이해하지 못한다. 그러므로 컴퓨터가 이해할 수 있는 벡터로 변경해야 한다. 이런 변경을 임베딩이라고 말한다. 그러므로 임베딩이 잘 될수록 높은 모델 성능을 기대할 수 있다.■ 임베딩과 관련된 다양한 방법들이 있는데, 크게는 '단어 수준'의 임베딩(Word2Vec, FastText)과 '문장 수준'의 임베딩(Elmo, Bert, GPT 등)으로 구분한다.- 단어 수준의 임베딩은 동음이의어(글자의 소리는 같지만 뜻이 다른 단어 - 눈, 차, 배 등)를 구별할 수 없지만,- 문장 수준의 임베딩은 사람처럼 문장의 '앞뒤'를 보고 의미를 파악할 수 있다. ■ 단어 수준의 임베딩을 위해 단어, 음절, 형태소 등으로 나누고 이를 수치로 변환한다.. 텐서플로 합성곱 신경망(CNN) (2) 사용한 데이터 셋: https://www.kaggle.com/datasets/tongpython/cat-and-dog?select=test_set 3. 데이터 증강■ 학습 데이터가 너무 적으면 새로운 데이터에 일반화할 수 있는 모델을 훈련할 수 없기 때문에 과대적합이 발생한다. # https://www.kaggle.com/datasets/tongpython/cat-and-dog?select=test_set에서 데이터 셋 압축 해제import osprint("Training directory contents:", os.listdir(train_dir))print("Validation directory contents:", os.listdir(valid_dir))#결과#Training direct.. 텐서플로 합성곱 신경망(CNN) (1) 참고) 합성곱 신경망(CNN) (1) 합성곱 신경망(CNN) (1)1. 합성곱 신경망(Convolutional Neural Network, CNN)■ CNN은 이미지 인식, 음성 등 다양한 곳에 사용되며, 특히 이미지 인식 분야에서 활용도가 높다.■ 인접한 계층간 모든 뉴런이 연결된 완전 연결 계층hyeon-jae.tistory.com1. Sequential API로 모델 생성■ CNN 모델은 다음 그림과 같이 이미지에 대한 특징을 추출한 다음, 추론을 위해 평탄화한 후 출력층에 데이터를 넣게 된다.■ 따라서 합성곱 계층은 Conv2D 레이어, 풀링 계층은 최대 풀링이나 평균 풀링 레이어를 사용하고 FCN으로 넘어가기 위해 CNN 부분이 끝나면 데이터를 평탄화하기 위해 Flatten 레이어를 사용한다.■.. 케라스(Keras) (2) 1. 콜백■ MNIST 데이터 셋같이 데이터의 개수가 6만장, 7만장이 아닌 60만장, 700만장, 6000만장, .... 인 대규모 데이터셋에서 fit( ) 메서드를 사용해 수십 수백 번의 에포크를 긴 시간 동안 수행했을 때, 이를 저장하지 못하거나 결과에서 이상 징후가 발견되는 등 처음부터 다시 긴 시간 동안 학습을 시작해야 한다.■ 이를 방지하기 위해 사용하는 것이 바로 콜백(callback)이다.■ 콜백은 모델 훈련 시 사용하는 fit( ) 메서드에 callbacks 매개변수로 지정하여 모델 체크포인트(checkpoint), 조기 종료(early stopping), 학습률 스케줄러(learning rate scheduler) 등 모델 훈련에 보조적인 옵션을 넣을 수 있다. 1.1 모델 체크포인트(.. 케라스(Keras) (1) https://keras.io Keras: Deep Learning for humansA superpower for developers. The purpose of Keras is to give an unfair advantage to any developer looking to ship Machine Learning-powered apps. Keras focuses on debugging speed, code elegance & conciseness, maintainability, and deployability. When you chokeras.iohttps://tensorflow.org TensorFlow모두를 위한 엔드 투 엔드 오픈소스 머신러닝 플랫폼입니다. 도구, 라이브러리, 커뮤니티 리소스로.. 텐서(Tensor) (1) 1. 텐서플로 자료구조■ 텐서는 데이터를 다차원 배열 형태로 표현한 것으로 딥러닝에서는 텐서가 데이터를 표현하는 기본 단위로 사용된다. ■ 텐서의 차원(축)은 차수가 1씩 증가함에 따라 데이터 구조가 확장된다. 스칼라 → 벡터 → 행렬 → 3차원 텐서 → 4차원 텐서.... 이렇게 구조가 확장되면서 점이 선으로, 선이 면으로, 면이 입체로 변화한다.- 위의 그림에서 랭크는 텐서의 차수를 의미한다.■ 여기서 차수(차원의 수)는 텐서를 구성하는 벡터의 개수이다.- 0차원 텐서인 스칼라는 텐서를 구성하는 벡터의 개수가 0 개, 1차원 텐서인 벡터는 벡터의 개수가 1개, 2차원 텐서인 행렬은 벡터의.. 이전 1 다음