os.path.join 경로를 합칠 수 있음 import os #데이터 읽기 directory ="./imdb dataset" x=[]; y=[] for c in ['neg', 'pos']: curr =os.path.join(directory,c) print(curr) os.listdir("경로") 경로내의 모든 파일과 디렉토리 리스트를 반환 for filename in os.listdir("/content/test_images"): if 'jpg' not in filename: continue os.chdir 해당 경로로 이동 os.chdir('/content/test_images') os.isfile 파일이 존재하는가? os.remove 해당 파일 지우기 if os.path.isfile('word.m..
이전 챕터 스킵 원래는 이 앞장에 개선된 word2vec을 공부하는 장이 있었는데, 나는 일단 RNN에서 어텐션까지 빨리 나가야하고 word2vec에 대한 전체개요는 확인한 것 같아서 지금은 내가 쓰지도 않을 word2vec을 더 공부하는 것보다 흐름을 빨리 파악하는 것이 나은것 같아 스킵하기로 하고 바로 RNN으로 넘어갔다. 지금까지의 신경망은 피드포워드라는 유형의 신경망이다. 이는 흐름이 단방향인 신경망을 뜻함. 피드포워드 신경망은 구헝이 단순하여 구조를 이해하기 쉽고, 많은 문제에 응용할 수 있지만, 시계열 데이터를 잘 다루지 못한다. 이것이 순환 신경망 RNN의 등장 배경이다. 1. RNN이란 RNN의 'Recurrent'는 라틴어에서 온 말로 '몇번이나 반복해서 일어나는 일'을 뜻함 RNN을 직..
앞선 게시물까지는 밑바닥부터 시작하는 딥러닝 1권이었다. 필요한 부분만 빨리 훑었고, 이제는 자연어처리 기반인 밑바닥부터시작하는 딥러닝 2권으로 시작한다. Word2vec부터 어텐션장까지 이어서 할 것이다. 1. 추론 기반 기법과 신경망 단어를 벡터로 표현하는 방법 중 성공적인 두 가지는 '통계 기반 기법'과 '추론 기반 기법'이 있다. 1.1 통계 기반 기법의 문제점 통계기반 기법에서는 주변 단어의 빈도를 기초로 단어를 표현했다. (단어의 동시발생행렬을 만들고 SVD를 적용하여 밀집벡터를 얻음) 현업에서 다루는 말뭉치의 어휘 수는 어마어마하다. 어휘가 100만개라면 100만*100만 행렬을 만들어야 하는데 현실적이지 않음. 통계기반 기법은 말뭉치 전체의 통계를 이용해 단 1회의 처리만에 단어의 분산 표..
드디어 CNN을 다루는구나...... 겨울방학 프로젝트에 접하기만 하고 어떻게 돌아가는건지, 다루는건지 이해하지 못했었다. 가장 재밌..진 않고 파악하고 싶었던 딥러닝중에 하나이다. 참고로 이책에선 딥러닝프레임워크를 사용하지 않고 다룬다고하니 원리와 구조만 이해하고 스킵한뒤에 텐서플로로 복습해야겠다. 1. 합성곱 계층 1.1 전체 구조 CNN 네트워크 구조에는 합성곱 계층과 풀링 계층이 등장한다. 지금까지 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있었다. 즉, 한 층의 모든 뉴런이 다음 층의 모든 뉴런과 연결된 상태이다. (완전연결) 이렇게 연결된 계층아 Affine 계층이다. 위 그림에서 완전연결 신경망은 Affine계층 뒤에 ReLU (or Sigmoid)계층이 이어진다. 마지막 5번째 층은 A..
시간이 급한 관계로 책의 내용들을 다 보지는 못하지만, 이렇게라도 필요한 부분들을 공부하니 확실히 전보다는 이해도가 높아진 것 같다. 그래도 아직 배워야할게 너무많다. 밑바닥부터시작하는 딥러닝 책이 1,2권 있는데 1권에선 총 8개의 챕터가 있고 이제 두 챕터(2,3)를 끝냈다. 이제 6챕터를 보려고 하고 뒤에 7,8챕터를 빨리 끝내서 2권으로 넘어가려한다. 2권에서는 앞부분은 건너뛰고 3챕터(word2vec)부터 시작할 것이다. 이번장에서 다룰 내용 최적화 방법, 가중치 매개변수 초기값, 하이퍼파라미터 설정 방법, 오버피팅의 대응책 1. 매개변수 갱신 신경망학습의 목적은 손실함수의 값을 최소화 하는 매개변수(최적 매개변수)를 찾는 것이다. but 신경망 최적화는 굉장히 어렵다 (매개변수 고간이 매우 넓..