728x90

프로젝트 24

[프로보노 프로젝트] 2021 ICT 한이음(프로보노) 프로젝트 종료 후기

해가 바뀌어 어느새 2022년이다. 나의 2021년이라고 말할 수 있을 정도로 열심히 노력했던, 또 길게 진행했던 한이음 프로보노 트랙이 종료된 후기를 마지막으로 적어보려 한다. 순전히 나를 위한 글이기 때문에 혹여 한이음 프로젝트를 준비하다가 검색으로 이 글을 보게 되어도 도움이 되리라는 장담은 못한다. 이 글은 총 다섯 단계로 나뉘어져 있다. -나는 어떻게 프로보노 프로젝트를 준비했는가 -진행과정 중 어려움은 없었는가 -7개월간 장기 프로젝트를 진행하면서 느낀점 -앞으로의 계획 -간단한 킨텍스 전시회 후기 프로젝트를 진행하면서 개발과정과 공부한 것들은 티스토리에 틈틈히 남겨두었기 때문에 이 글에서는 후기와 솔직한 느낀점 위주로 작성할 예정이다. 1. 나는 어떻게 프로보노 프로젝트를 준비했는가 1.1...

[딥러닝 / 논문 리뷰 ] Attention is all you need (NIPS 2017)

*211227 진행했던 미니 세미나에서 발표한 내용을 정리한 것임 transfomer transfomer는 구글에서 발표한 모델로 기존 인코더와 디코더를 발전시킨 모델이며 기존 딥러닝과 가장 큰 차이는 RNN과 CNN을 사용하지 않는데에 있다. 논문에서 발췌한 이 실험결과에서 transfomer는 영어를 독일어와 프랑스어로 번역한 문제에서 기존 모델보다 속도와 성능이 빨랏다는 표를 제시했다. transfomer가 이렇게 성능이 뛰어난 이유는 바로 RNN을 사용하지 않았다는데 있다. transfomer를 한 단어로 정의하면 병렬화 라고 할 수 있다. 즉 일을 한번에 처리한다는 것이다. RNN이 순차적으로 들어온 데이터를 인코딩 하는 반면 transfomer는 병렬적으로 일을 한번에 수행할 수 있다. Pos..

[딥러닝 / RNN ] attention mechanism

attention mechanism 등장 배경 Seq2Seq 모델은 인코더에서 입력 시퀀스를 context vector라는 하나의 고정된 크기의 벡터 표현으로 압축한다. 하지만 이런 Seq2Seq모델은 이전 게시글에서 정리했듯 두 가지 문제가 존재한다. 1. 하나의 고정된 크기의 벡터에 모든 정보를 압축하려고 하니까 내용이 많아지면 정보 손실이 발생한다. 2. RNN(LSTM)의 고질적인 문제인 경사도 손실 문제가 존재한다. 결론적으로, 입력 문장이 긴 상황에서 기계 번역의 성능이 낮아지는 현상이 나타났고, 이런 현상을 보완하기 위하여 중요한 단어에 집중하여 Decoder에 바로 전달하는 attention 메커니즘이 등장하게 되었다. attention mechanism 작동 방식 이 예제를 통해서 구체적..

[딥러닝 / RNN] Sequence To Sequence (Seq2Seq Model)

Sequence To Sequence란 Sequence To Sequence 모델은 LSTM (또는 GRU) 기반 모델로 고정된 길이의 시퀀스를 입력받아, 입력 시퀀스에 알맞은 길이의 시퀀스를 출력해주는 모형으로 2014년 구글 et. al 에 의해 최초로 제안되었다. 기존 DNN 모델은 다양한 분야에서 좋은 성과를 거뒀지만, 이는 고정된 차원의 feature와 고정된 차원의 출력에 특화된 방법이다. 그렇기 때문에 입력과 출력의 길이가 매번 다른 데이터를 학습하고, 이를 응용하는 문제에는 적합하지 않다. DNN은 대표적으로 기계 번역에서 한계점을 갖는다. 기계 번역은 빈번하게 입력의 길이도 다르고, 그에 따른 출력의 길이도 다르다. 예를 들어, How are you? 를 번역하는 문제를 고려해보면 잘 지..

[프로보노 프로젝트] 2021 프로보노 공모전 은상 수상

2021 프로보노 공모전 은상 (정보통신기획평가원장 상) 수상 https://www.hanium.or.kr/portal/project/awardList.do 공모전 수상작 멘토 신청절차 멘토 의무사항 및 혜택 ICT멘토링 프로젝트를 지도하고 지식 나눔을 실천하는 스승이자 인생의 선배로 운영기관으로부터 권한을 승인 받아 멘토로 활동할 수 있습니다. 자격요건 www.hanium.or.kr 우리팀의 보고서는 "노약자를 위한 공개용 STT API를 이용한 인공지능 보이스피싱 방지 시스템" 항목에 업로드 되어있다.

[프로보노프로젝트] 2021 프로보노 공모전 3차 종합 평가 코엑스 대면 발표 후기

0. 서론 4월 말부터 쉬지않고 끊임없이 달려온 프로보노 프로젝트가 드디어 끝이 났다. 나의 첫 번째 장기 프로젝트이다. 7개월 동안 많은 일들이 있었고 넘어질 때도 많았으며 개발 오류를 붙잡고 삼일 꼬박 밤을 샌 적도 있었다. 공모전 마감일이 다가올 수록 불안해서 잠을 설치는 일도 많았다. 결과적으론 나와 팀원들 모두 매우 성장하는 계기가 되었다. 이 글에서는 2021 프로보노 공모전에 대한 전반적인 준비 과정과 3차 종합평가에 대한 것들을 남겨놓으려고 한다. 대략적인 공모전 흐름부터 발표 후 면접관으로 부터 받았던 질문들까지 기억나는 대로 적어두겠다. 1. 공모전 포스터 8월 말이 되면 프로보노 사무국에서 공모전 신청을 받는다. 대부분의 프로젝트들이 중도포기, 산출물 부실 등을 이유로 참여를 꺼리는데..

[프로보노 프로젝트] 토큰화의 실시간성 문제 의견 공유와 해결과정

0. 상황 머신러닝 전처리 개발이 완료되어 이 모듈을 라즈베리파이 우분투에 옮겨 실행시켜보았다. 전처리 중 토큰화 부분이 완료된 것 까지 확인하였고, 그 다음 단계인 불용어를 처리하는 부분에서 다음과 같은 오류가 발생했다. colab에서 실행할 땐 오류가 나지 않았으니 아마 리눅스 python 환경에서 발생하는 버전 충돌 같은데 오류를 잡으려 코드를 수정한 후 다시 실행시키려니 colab에서도 오래 걸리던 토큰화 부분(약 30분)이 리눅스에서는 2시간 이상 걸리는 것을 확인했다. 코드를 수정했음에도 결과를 보기까지 시간이 많이 걸려 계속 이 상태로 진행한다면 다른 오류도 오래 기다려야 했기 때문에 비효율적이라고 판단했다. 문제 : colab환경에서도 리눅스 환경에서도 데이터의 토큰화가 너무 오래 걸림 I..

[프로보노 프로젝트] GitHub README.md 작성

내가 맡은 부분(전처리와 엔진)은 90%정도 개발이 완료되어 깃허브에 COMMIT을 해두었다. 우리의 프로젝트를 모르는 사람도 잘 이해할 수 있게 README도 작성하고싶은데 어떤 내용이 들어가면 좋을지 몰라서 이것저것 찾아보았다. 찾아본 자료들을 백업해둔다. 1. 간단한 Markdowm 예시 ## Markdown 소스코드 블록은 다음과 같이 작성할 수 있습니다. ```c #include int main(void) { printf("Hello World!"); return 0; } ``` 링크는 다음과 같이 작성할 수 있습니다. [블로그 주소](https://cordingdiary.tistory.com/) 순서 없는 목록은 다음과 같이 작성할 수 있습니다. * 깃 튜토리얼 * 깃 Clone * 깃 Pul..

728x90