본문 바로가기

머신러닝, 딥러닝

(43)
딥러닝 프로젝트 1: 번역 모델을 위한 삽질 오늘부터 다음주 목요일까지, 6일 가량 딥러닝 모델을 기반으로 한 개인 프로젝트 시간이 주어졌다. 데이터분석&개발을 배우는 영상번역가로서, 평소 번역을 할 때 시간이 소모되는 단순 작업들을 단순화하고 싶었다. - 자주 틀리는 맞춤법 교정 - 업체에서 자주 고치는 표현으로 미리 교정 - 예전에 번역했던 문장이면 추천으로 뜨게 하기 (트라도스의 번역 메모리 같은 기능) 영상 번역, 특히 영한번역은 화자에 따라 말투/높임말/어조 등이 달라지는데, 영상 속의 인물의 표정이나 사건을 텍스트만으로 파악하기 어렵기 때문에 기존 기계번역에는 한계가 있었다. 파파고로 스크립트 전체를 넣어 번역을 돌려보면, 아예 문맥과 반대되는 번역을 하는 경우도 왕왕 있다. aimb.tistory.com/86 무튼 그래서 이번 프로젝트..
skimage 이미지 일괄 리사이즈 방법 from skimage.transform import resize from skimage.io import imread_collection images = imread_collection('/content/dir/*.jpg') images = [resize(img, (size,size)) for img in images] imread_collection 으로 폴더 안의 jpg 파일을 다 불러오고, 리스트 컴프리헨션으로 한 번에 적용해줄 수 있다. 리사이즈를 하는 이유는? Transfer learning 시 include_top 옵션을 True로 주면 불러온 모델의 fully connected layer와 연결된다. (한 층의 모든 뉴런이 그다음 뉴런과 연결된 상태를 말한다.) https://keras.i..
RCNN을 이용한 Object Detection 따라해보기 1 RCNN을 이용한 Objection Detection 문제를 해결하는 레파지토리를 서칭 중, github.com/kentaroy47/frcnn-from-scratch-with-keras kentaroy47/frcnn-from-scratch-with-keras :collision:Faster R-CNN from scratch written with Keras - kentaroy47/frcnn-from-scratch-with-keras github.com 이 레파지토리가 꽤 괜찮아 보였다. Fork 수도 622고, 이런 사람 - 병 구분도 괜찮아 보였다 (지금 보니 들고 있는 잔은 인식이 안 됐잖아...? 무튼) 자연어 처리를 배운 저번 주에 Attention, Transformer 관련 참고용 레파지토리를..
Transformer를 사용한 인공 신경망 한영 번역기 코드 예제 실습 (Colab 버전) Huffon/nlp-various-tutorials의 The Annotated Transformer 보다 친절한 트랜스포머 튜토리얼 을 보고 따라했다. 해당 튜토리얼은 nlp.seas.harvard.edu/2018/04/03/attention.html 과 Pytorch의 pytorch.org/tutorials/beginner/torchtext_translation_tutorial.html 을 참고했다. 15시간을 코드 돌리면서 삽질하고 샘플링 후, 10시간 이상 더 삽질한 것 같다. 하지만 이거 보면서 왜 안되지? 하고 s, 사소한 변수명 수정하며 시간을 날리고 나니 차리리 딥러닝 자연어처리 입문을 보면서 개념을 익히고 공식 튜토리얼 보면서 따라하는게 나았을 것 같기도 하다는... 생각이....
Transformer를 사용한 인공 신경망 한영 번역기 코드 예제 실습 Huffon/pytorch-transformer-kor-eng 다음의 깃허브 레파지토리를 따라해보며 실습했습니다. 파이썬 코드로 짜여진 pytorch 기반의 레파지토리인데, 코드들을 코랩으로 옮겨와 코랩에서도 편하게 실행할 수 있도록 코드를 참고해서 만들어보고 싶네요! 일단 오늘은 Readme에 쓰여진 대로 따라서 실습해볼 예정입니다. conda가 설치된 CMD와 vscode 같은 IDE가 있으면 좋습니다. 먼저 해당 레포지토리를 클론 후, 경로를 이동해줍니다. git clone https://github.com/Huffon/pytorch-transformer-kor-eng.git cd pytorch-transformer-kor-eng 다음으로 가상환경을 만듭니다. conda create -n nlp p..
Attention을 사용한 인공 신경망 기계 번역 만들기(한->영) 텐서플로 튜토리얼인 www.tensorflow.org/tutorials/text/nmt_with_attention 을 참고했다. 사실 다른 튜토리얼인 Transformer 를 사용한 번역기 모델을 사용하고 싶었는데 1) 내일 배울 내용이고 2) 코드를 봐도 도통 모르겠어서 일단 텐서플로 튜토리얼을 차근차근 따라 해 보기로 했다! 1. 데이터셋 변경 튜토리얼은 영어-스페인어 패키지로 되어 있다. 무려 10만 개의 데이터셋이라고... www.manythings.org/anki/ 에서 eng-kor 데이터셋을 받아주고, ipynb 노트북에 있는 모든 스페인어(sp, spa, 관련 변수명을 kor로 다 바꿔준다. !unzip "kor-eng.zip" !ls # zip 푼 파일들이 보임 path_to_file =..
spacy [E050] Can't find model 'en_core_web_sm' 에러 해결 python -m spacy download en_core_web_md 이렇게 설치하고 import spacy from spacy.tokenizer import Tokenizer nlp = spacy.load('en_core_web_sm') # Tokenizer 생성 tokenizer = Tokenizer(nlp.vocab) 이렇게 로드했더니 다음과 같은 오류가 떴다. [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory. spacy를 쓸때 흔히 뜨는 오류인 모양이다. 해결책 : English 같은 language 를 별..
초등학생도 이해하는 역전파 * 초등학생도 이해할 수 있도록 작성한 거라, 세세한 용어는 실제와 다를 수 있습니다. 최대한 쉽게 개념을 잡을 수 있도록 작성했습니다. 사진을 주면 강아지인지, 고양이인지 학습하여 분류하는 장치가 있습니다. 이 장치는 여러 장의 사진을 바탕으로, 스스로 강아지의 특성을 학습합니다. 먼저 강아지의 머리는 어떻게 생겼고, 몸통은 어떤 모양과 크기이고, 앞발은 어떤 모양이며, 꼬리는 말려 있고, 코는 분홍색이다 ... 라는 특징을 학습합니다. 여기서 강아지만 가지는 특별한 특징이 있겠죠. 몸통이 얼만큼 길다던가, 꼬리가 얼만큼 복슬복슬하다거나, 앞발이 어떻게 생겼다거나. 이런 특징 등에는 중요도를 매깁니다. (앞발바닥 까만색 - 조금 중요) (몸통 길이 50cm 이상 - 조금 중요) 장치는 다음으로 강아지의..