ai tech 25

CNN 개발 과정 일지

1주차 1. 판다스 프로파일링 설치하려고 했으나 계속 오류 발생했다. 서버를 지워버리고 다시 설치하니 오류가 사라졌다; 2. 데이터 셋에 사진 데이터를 집어넣긴했는데 라벨링 데이터를 함께 넣지는 못했다. 3. 라벨링데이터를 사진데이터와 합쳐서 구성할 수 있도록 Dataset을 구성했다. 2주차 첫째날 1. 내가 만든 기본 CNN 모델로 학습했더니 적중률이 10% 밖에 나오지 않았다. 옵티마이저는 아담사용, 학습률은 0.001, 배치사이즈 50 2. pretrained model인 efficient net b0를 가져다 썼더니 성능이 63프로로 올랐다. 옵티마이저는 SGD사용, 학습률은 0.001, 배치사이즈 64 3. inference를 하려고 했더니 에러가 발생했다. DataLoader worker (..

ai tech 2021.03.30

ai tech 28일차

특강이므로 느낀점만 작성 할 수 있다고 한다. # 캐글 그랜드 마스터의 경진대회 노하우 캐글에서 좋은 성적을 얻으려면 좋은 장비가 필수라는것에 조금 놀랐다. 코랩 프로로 진행될 수 있을줄 알았는데, 데이터 입출력 속도가 느리기 때문에 코랩에 제한이 있다고 한다. 아담이 주로 사용되는것 같고, 많이 해봐야 되는게 답인것 같다. # Fullstack ML engineer 머신러닝 풀스택 엔지니어면 웹 백엔드와 프론트엔드도 할줄 알고 최종적으로 프로덕션도 만들수 있어야 한다고 한다. 나에게는 이 방향이 유리할 것 같다.

ai tech 2021.03.03

ai tech 27일차

# 서비스향 AI 모델 개발하기 실무에서는 데이터 모델링 작업은 전체 작업에서의 아주 일부분만 차지하고, 학습데이터셋부터 해서 모든 것을 다 만들어야 한다. 그리고 모델링 작업을 하나로 통째로 진행하는 것이 아니라 세분화하고 모듈화해서 각각의 기능을 하는 모델들을 개발하는 식으로 작업이 이루어진다. 요구사항을 시작으로 개발이 진행되는데, 처리시간, 목표정확도, 성능, 장비 사양 등 세부적인 내용까지 처음에 모두 확인하고 정리해야 개발 진행이 가능하다. 팀에는 데이터 큐레이터, 모델러, 프론트 개발자, 모델엔지니어, 백엔드 개발자 등 모델링을 위주로 하는 개발자보다도 서빙을 위한 개발자들이 더 수요가 많고 필요하다. # AI 커리어 역시나 팀에는 모델링 하는 사람 뿐만 아니라 데이터 엔지니어, 개발자 등 ..

ai tech 2021.03.02

ai tech 25일차

# 정점 표현 학습 정점 표현학습은 그래프의 정점들을 벡터의 형태로 표현하는 것이다. 그래서 정점 임베딩이라고 부르기도 한다. 그래프에서의 정점간 유사도를 임베딩 공간에서도 보존해야 한다. 임베딩 공간에서는 내적을 해서 유사도를 구한다. 그래프에서의 두 정점의 유사도는 인접성, 거리, 경로, 중첩, 임의보행 기반 접근법으로 나뉜다. 여태까지의 정점 임베딩 방법들은 변환식 방법이다. 변환식 방법은 학습의 결과로 정점의 임베딩 자체를 얻는다. 귀납식 방법은 정점을 임베딩으로 변화시키는 함수, 인코더 자체를 얻는다. # 변환식 임베딩 방법의 한계 1. 학습이 진행된 이후에 추가된 정점에 대해서는 임베딩을 얻을 수 없다. 2. 모든 정점에 대한 임베딩을 미리 계산하여 저장해두어야 한다. 3. 정점이 속성 정보를..

ai tech 2021.02.26

ai tech 21회차

# 그래프 정점 집합과 간선 집합으로 이루어진 수학적 구조 하나의 간선은 두개의 정점을 연결한다 하지만 모든 정점 쌍이 반드시 간선으로 직접 연결되는 것은 아니다 그래프는 네트워크로도 불린다. 정점은 노드로, 간선은 엣지 혹은 링크로 불린다. # 복잡계 사회는 70억 인구로 구성된 복잡계 통신 시스템은 전자 장치로 구성된 복잡계 정보과 지식, 뇌, 신체도 복잡계 복잡계는 구성 요소간의 복잡한 상호작용이 특성이다. 그래프는 복잡계를 효과적으로 표현하고 분석하기 위한 언어이다. SNS 같은 복잡계는 사용자들이 노드이고 사용자들간의 연결이 엣지이다. 쇼핑몰 같은 복잡계는 사용자와 각각의 물건들이 노드이고, 사용자와 물건간의 연결이 엣지이다. 인터넷도 라우터들간의 상호작용 연결, 웹도 웹페이지간의 하이퍼링크 연..

ai tech 2021.02.22

ai tech 20일차

# self-supervised pre-training models GPT-1 BERT # pre-training model의 최근동향 트랜스포머 모델과 셀프 어텐션 블록은 범용적인 시퀀스 인코더 디코더로서 좋은 성능을 보여주고 있다. 트랜스포머는 셀프어텐션블록을 6개정도 쌓아서 사용했다면, 최근에는 더 깊게 쌓아서 만들고 대규모 데이터로 학습하고 transfer learning으로 fine tuning을 해서 더 좋은 성능을 보여주고 있다. 하지만 한글자 다음에 다음 한글자를 추론하는 그리디 디코딩을 벗어나지 못하는 한계점이 있다. # GPT-1 일론머스크가 세운 openAI에서 나온 모델 자연어 생성에서의 놀라운 성능을 보여준다. 텍스트 시퀀스에 포지션 임베딩을 더하고, 셀프 어텐션 블록을 총 12개..

ai tech 2021.02.19

ai tech 18일차

# sequence to sequence seq to seq는 many to many인 방식이다. 위 예에서는 챗봇이 문장을 입력받아서 출력인 답변을 생성하는 구조이다. 이 방식은 인코더와 디코더로 구성되어있는데, 입력단어를 한개씩 받아들이는 RNN 부분을 인코더라고 하고, 출력단어를 한개씩 뱉는 RNN 부분을 디코더라고 한다. 인코더와 디코더는 서로 별개의 파라미터를 사용한다. 그리고 세부적인 내부 구현은 LSTM이 적용되어있다. 인코더에서의 최종 히든스테이트 벡터는, 디코더에서의 최초 히든스테이트 벡터가 된다. 디코더의 첫 입력으로는 start를 의미하는 토큰을 사전에 넣어두고 이를 입력으로 넣어준다. 그리고 마지막 최종출력인 end가 출력 될때 까지 디코더를 진행하게 된다. 만약 end가 출력되면 ..

ai tech 2021.02.17

ai tech 17일차

# RNN RNN은 시퀀스데이터가 입력 또는 출력으로 주어진 상황에서 각 time step에서 들어오는 입력벡터 xt와 그 전 time step의 RNN 모듈에서 계산한 hidden state 벡터 ht-1를 받아서, 현재 hidden state 벡터 ht를 만드는 구조를 가지고 있다. 예를 들면, I study math라는 문장이 주어졌을때, 각 단어가 time step의 입력으로 들어가게 된다. 매 time step마다 동일한 RNN 모듈 A가 재귀적으로 호출된다. 왼쪽 그림을 rolled version이라고 하고 오른쪽 그림을 unrolled version이라고 한다. 어느 순간에 값을 얻기 위해서는 hidden state로부터 값을 얻어낼 수 있어야 한다. time step t-1에서의 hidde..

ai tech 2021.02.16

ai tech 16일차

# NLP Tokenization: 주어진 문장을 단어단위로 쪼개나가는것, 결과적으로 시퀀스가 된다. stemming: 수많은 어미 변화에도 같은단어라는것을 컴퓨터가 알아야하므로 어근만 추출해 내는것이다. NER: 단일단어나 여러단어로 된 고유명사를 인식해내는것이다. part-of-speech tagging: 주어인지 목적어인지 등을 찾아내는 것이다. sentiment analysis: 문장이 긍정인지 부정인지 알아내는 것이다. machine translation: 번역 entailment prediction: 문장간의 사실관계와 모순관계를 찾아내는 것이다. question answering: 질문을 이해하고 정답을 보여주는것이다. dialog system: 챗봇 summarization: 뉴스 한줄 요..

ai tech 2021.02.15