목록deep learning(딥러닝) (39)
꿈 많은 사람의 이야기
지난 포스팅에 seq2seq 모델을 적용시켜서 기계 번역에 대해서 알아보았습니다. 인공지능 기반 자연어 처리 번역 즉, 기계 번역(NMT)은 규칙 기반부터 확률, 통계 기반으로 시작하여 현재 딥러닝을 활용해 기계 번역을 하는 역사를 가지고 있다는 것도 배웠죠 또한, 그 중심에 seq2seq 모델이 있다는 것도 배웠습니다. 하지만 seq2seq는 한계가 있습니다. 그 한계는 바로 번역이 잘 되지 않는다는 것이죠 그래서 어텐션 메커니즘이 나오게 됩니다. Attention Mechanism은 무언가에 집중한다는 개념입니다. 이 어텐션 메커니즘의 효과는 정말 어마어마합니다. 현재 자연어처리 분야에 있어서 어텐션 메커니즘을 안쓰는 곳이 없기 때문이죠. 또한 인공지능, 딥러닝 분야에서도 핫한 기술이기도 합니다. 이..
요즘 Keras를 사용하다가 PyTorch를 공부하고 있습니다. PyTorch는 또 다른 딥러닝 라이브러리이죠 윈도우에서 지원이 미약하다가 이제는 좀 잘 되는 것 같은데요 ㅎㅎ PyTorch가 version이 up 되면서 1.1.0 버전이 나왔습니다. 이번 포스팅은 PyTorch를 윈도우 10에서 (windows 10) 설치하는 방법에 대해서 알아봅니다. 그리고 GPU도 실행시키구요 저는 CUDA 버전이 9.0인데요 먼저 윈도우에서 cuda 버전을 확인하는 방법부터 보죠! cuda version check in windows 바로 cmd를 켜서 nvcc --version을 하시면 cuda version을 볼 수 있습니다. 저는 release 9.0이라고 나와있네요! 이렇게 cuda 버전을 확인했으면 이제..
딥러닝이 핫한 지금 영상처리 분야뿐 아니라 자연어 처리 분야도 엄청 핫합니다. 특히 일반적인 문서 분류(text classification)를 넘어서 이제 번역기나 문장 생성, 텍스트 생성에도 포커스가 맞춰지고 있죠 이번 포스팅은 seq2seq에 대해서 자세히 알아보려고 합니다. 제 블로그에 seq2seq 내용을 다루긴 했지만 이론적인 내용이 부실했었습니다. 그래서 최근 제가 모두의 연구소에서 자연어처리 기초반(NLP)을 운영하면서 진행했던 발표 자료를 가지고 다시 정리해보려고 합니다. 기계 번역의 역사부터 현재까지 어떻게 진행되는지 전반적인 내용을 보려고 합니다. 그리고 이 자료는 허훈님의 자료를 조금 참고해서 만들었었습니다. 그럼 시작하죠! 먼저 기계 번역의 역사입니다. 기계 번역의 역사는 사실 좀 ..
얼마전 제 블로그에 keras를 활용해서 자연어처리(NLP) 개인 프로젝트 진행한 것을 올렸습니다. https://lsjsj92.tistory.com/476 파이썬 딥러닝 기반 욕설 탐지 시스템 개발(개인 프로젝트)해보기! 이번 포스팅은 파이썬 케라스와 장고(python keras, python django)를 활용한 딥러닝 기반 욕설 탐지 시스템을 개인적으로 만들어본 후기입니다. 데이터 특성 상 욕설이 포함되어 있을 수 있습니다! 만약 읽게 되.. lsjsj92.tistory.com 해당 글입니다. 아직까지 초안 단계일 뿐이고 부족함이 많은 개발 단계입니다. 더 많은 데이터를 쌓아야하며, 여러가지 연구해야할 것들이 많습니다 지금은 비록 딥러닝으로 욕설을 탐지하지만 나아가 더 많은 것들을 탐지할 수 있는..
이번 포스팅은 파이썬 케라스와 장고(python keras, python django)를 활용한 딥러닝 기반 욕설 탐지 시스템을 개인적으로 만들어본 후기입니다. 데이터 특성 상 욕설이 포함되어 있을 수 있습니다! 만약 읽게 되신다면 감안 부탁드립니다 ㅠㅠ 프로젝트를 어쩌다가 하게 되었나? 어느 날 한 프로게이머가 은퇴했습니다. 제가 정말 좋아하는 프로게이머였고 리그오브레전드(롤) 선수였습니다. 유튜브도 유명한 프로게이머입니다. 프레이, 프짱이라고 불리우는 선수였죠 사실 은퇴 전에 이번 시즌을 쉰다고 했을 때도 복귀할 것이라 생각했습니다. 하지만 자신감을 잃었다고 하고 은퇴를 선언했죠. 쉬는 기간에 챌린저도 가볍게 찍었던 그 였습니다. 왜 그런 그가 자신감이 없다고 했을까? 어느 댓글을 보니 이런 글이 있..
가끔씩 keras를 사용하다보면 gpu가 제대로 돌아가고 있는지 알고 싶을 때가 있다. 아니 소리는 요란하게 크게 들리는데 막상 돌아가는 것 보면 흠.. 별것 없는 데이터인데 정말 오래걸리고.. 뭔가 gpu가 사용되지 않는 것 같은 기분이 든다 그럴 땐 gpu가 동작이 되는지 확인해야합니다. 커맨드 + r 을 누르시면 위와 같은 화면이 나옵니다. 여기서 dxidag를 입력하면 directx 창이 뜨는데요 먼저 그래픽카드가 인식이 되는지부터 확인하면 됩니다 저는 그래픽 카드가 잘 인식되네요~ 그리고 저는 주로 케라스를 이용합니다. 케라스에서 gpu를 확인을 하려면 from keras import backend as K 를 이용합니다 K.tensorflow_backend._get_available_gpus(..
자연어 처리에서 공부를 하다보면 어텐션 메커니즘에 대해서 많이 듣게 됩니다아무래도 구글에서 발표한 attention is all you need의 transformer에서도self-attention(셀프 어텐션)을 사용하고기존의 LSTM(RNN)과 seq2seq 문제를 극복하기 위해서 많이 사용되기 때문에 계속 듣게 됩니다 어텐션(attention)에 대해서 공부를 하려면 먼저 저 메커니즘에 대해서 알아야겠죠그래서 이번 포스팅은 어텐션 메커니즘(attention machanism)에 대해서 정리합니다. 어텐션은 영상 처리쪽에서도 많이 사용됩니다.아마 CS231n 강의 같은 것을 보셨으면 아래 사진을 보셨을 겁니다. 대충 느낌 오시죠? 이것은 인간의 시각적 집중(visual attention) 현상을 구현..
어제 텐서플로와 머신러닝으로 시작하는 자연어 처리 책을 보면서 sequence-to-sequence 모델을 공부했습니다.챗봇을 만들 때 사용하던 모델이었는데 과연 케라스(keras)에서는 어떻게 사용되는지 궁금해서 공부를 했고지금 정리를 하려고 합니다. 이 자료는 케라스 코리아 운영자이신 김태영님의 블로그를 많이 참고했습니다!https://tykimos.github.io/2018/09/14/ten-minute_introduction_to_sequence-to-sequence_learning_in_Keras/ 기계번역(NMT, Neural Machine Translation)에서 많이 쓰이는 seq2seq 모델은 작성된 소스 문장들(source sentences)을 인코더(Encoder)를 이용해서 생각 ..
최근에 텐서플로우로 배우는 자연어 처리 책을 보고 있습니다 평소에는 케라스(keras)만 위주로 써서 이 책의 내용의 코드와 잘 맞지 않는 부분이 있는데요이 책도 텐서플로우 안에 있는 keras 모듈을 사용하기는 합니다.tf.keras.layer 등을 사용하고 때에 따라서 tf.nn.rnn 등을 사용하기도 합니다. 하지만 완전 순수 keras 라이브러리와는 좀 사용법이 다르네요그 중 하나가 저는 model summary 부분이 정말 궁금했습니다. 케라스에서는 그냥 model.summary()를 하면 모델 요약이 나왔었는데요!tf.keras를 사용하다보니까 사용 방법이 좀 달랐습니다 model을 요약(summary)해서 shape 등의 정보를 볼 수 있는 방법을 소개합니다(tensorflow model s..
파이썬으로 딥러닝을 해봅시다!이번 포스팅은 파이썬(python)의 케라스(keras) 딥러닝 라이브러리를 이용해서자연어 처리(NLP)를 해봅니다. 데이터는 네이버 영화 평점 데이터를 활용합니다.사실 이 딥러닝을 한지는 꽤 되었습니다.모두의 연구소에서 진행한 모두콘(moducon)때에 자연어 처리 대회가 있었는데요그때 참여했던 소스입니다. 당시는 3등을 했습니다(정확도가 별로 높지는 않지만..)1, 2등 분들의 코드나, 아이디어를 얻고 싶어서 모두연에 요청도 했는데 ㅠ끝내는 받지 못했네요 ㅠㅠ아무튼 저는 아래와 같은 방식으로 자연어 처리 딥러닝을 진행했습니다. 먼저 형태소 분석기가 인식하지 못할 단어를 모아서 구축했습니다.자연어 처리에서 형태소 분석기는 자주 사용하는데요저는 은전한닢(mecab)을 자주 사..