AIFFEL 99

FUNDAMENTAL 31. Ainize, 나의 원클릭 포트폴리오 만들기

1. 들어가며 - 나만의 ML프로젝트, 설명하지 않고 보여줄 수 있다면? 1) 머신러닝과 관련된 연구, 개발, 공부를 하다보면 프로젝트, 논문, 코드 등 여러가지 매체를 통해 많은 정보를 얻을 수 있다. 2) 이 많은 정보들 중에서 내가 필요로 하는 정보는 얼마나 될까? 만약 우리의 프로젝트를 누군가에게 보여줘야 할 상황에는 어떻게 해야할까? 3) 코드들을 설명만 하는 것보다 백문이불여일견이라고 프로젝트가 구동되는것을 볼 수 있다면 좋을 것이다. - DevOps to MLOps 1) DevOPs란 Development Operations를 줄여 쓴 말로, 단순히 코드로 구현만 하는것이 아니라, 실제 제품으로서 프로그램이 살아 숨쉴 수 있도록 모든 과정을 책임지고 수행하는 일을 말한다. 2) 더 나아가 M..

공부/AIFFEL 2021.03.17

Exploration 18 : 문자를 읽을 수 있는 딥러닝

1. 기계가 읽을 수 있나요? - 사람이 문자를 읽으려면 어떤 과정을 거칠까? 1) 문자가 있다는 것을 인식하고, 2) 해독하는 과정을 거치는 것이 일반적이다. - 기계가 문자를 읽는 과정도 다르지 않다. 1) Detection 하고, 2) 어떤 문자인지 판독하는 Recognition - 오늘 사용해볼 것 중 첫번째는 구글 OCR API이다. 이 API를 이용하여 어플리케이션을 만들 수 있다. 1) 구글의 파이썬 API 인터페이스 모듈을 설치한다. 2) Google Cloud Vision API 사용 (1) 서비스 계정 및 인증키를 생성한다. (자세한 내용은 구글링을 통해 쉽게 알 수 있다.) (2) 다운로드한 인증키는 원하는 경로에 my_google_api_key라고 파일명을 저장한다. (코드나 환경변..

공부/AIFFEL 2021.03.16

FUNDAMENTAL 30. 딥네트워크, 서로 뭐가 다른 거죠?

1. 딥네트워크, 서로 뭐가 다른 거죠? - 요즘 핫한 딥러닝, 이름에서 알 수 있듯 깊게 구성된 신경망이다. - 이런 신경망을 깊게 쌓는데 많은 연구와 기법이 필요한데, 연구자들이 더 좋은 성능을 내는 딥네트워크를 만들기 위해 다양한 방법과 네트워크를 탄생시켰다. - 이 중 몇가지를 오늘 배웠다. 2. ImageNet Challenge - 이미지넷(ImageNet)은 비전(vision) 관련 딥러닝을 하다보면 보게될 이름이다. - 이미지넷은 2010년부터 이미지관련 데이터셋을 제공하고 이로인해 여러 모델을 만드는데 도움이 되었다. 3. 딥네트워크의 시작 - SuperVision이라는 팀이 전년도 대비 10%의 오류율을 낮추면서 1등을 했는데, 비법은 네트워크를 깊게 쌓았기 때문이다. - 이 때 사용한 ..

공부/AIFFEL 2021.03.15

FUNDAMENTAL 29. 활성화 함수의 이해

1. 활성화 함수 - 오늘은 Softmax나 ReLU 등 익숙히 들어본 활성화 함수(activation function)을 배웠다. - 활성화(activated) or 비활성화(deactivated)라는 것은 어떤 조건을 만족 or 불만족 했다는 것과 긴밀한 연관이 있다. - 지금까지 써왔던 신경망 속의 퍼셉트론(perceptron) 혹은 노드(node)도 특정 조건이 만족하면 활성화 되도록 디자인되어 있다. - 느드에 입력으로 들어오는 값이 어떤 임계치를 넘어가면 활성화(activated)되고, 넘어가지 않으면 비활성화(deactivated)되게 코딩되어 있다. - 예를 들어 ReLU는 입력값이 음수, 즉 0 미만이라는 조건을 만족한다면 0을 출력하고, 입력값이 0 이상이면 입력값 그대로를 출력하도록 ..

공부/AIFFEL 2021.03.15

Exploration 17 : 다음에 볼 영화 예측하기

1. 들어가며 - Session-Based Recommendation 1) 오늘은 전자상거래 플랫폼에서 많이 사용하고 있는 Session-Based Recommendation에 대해 알아보겠다. 2) 고객에게 그 고객과 유사한 다른 고객이 좋아하는 상품을 추천해 주는 전략이 언제나 유효할까? 이런 추천 전략에의 기존 전제에는 한가지 맹점이 있다. 바로 고객의 선호가 고정된 것이라고 보는 것이다. 3) 하지만 알다시피 고객의 마음은 항상 변할 수 있다. 그래서 전자상거래 플랫폼에서는 "지금 고객이 좋아할 만한 상품"을 추천해 주는게 좋다. 그럼 어떻게 이런걸 할 수 있을까? 4) Session-Based Recommendation은 말 그대로 세션 데이터를 기반으로 유저가 다음에 클릭 또는 구매할 아이템을..

공부/AIFFEL 2021.03.15

FUNDAMENTAL 28. 파이썬으로 데이터 전처리 웹 만들기

1. 전처리 웹 사이트를 제작해보자 - 오늘은 화면이 있는 프로그램을 만들어서 나만의 프로그램을 직접 만드는 것을 할 것이다. - 웹 사이트는 크게 두 가지로 구성된다. 프론트 엔드(front-end)와 백 엔드(back-end)이다. 1) 프론트 엔드는 우리가 보고 있는 웹 사이트의 화면을 말하고, 2) 백 엔드는 화면에서는 보이지 않지만, 웹 사이트를 화면에 보여주기 위해 데이터베이스를 활용해 실질적인 정보의 가공 / 처리를 수행하는 구성 요소라고 이해하면 되겠다. - 웹 사이트에서의 프론트 엔드는 단순히 화면을 보여주는 것이기 때문에 백 엔드 없이 이용할 수 있을 때도 있다. 하지만 백 엔드가 없으면 DB 같은 것들을 붙여 이용하기 어렵다. - 백 엔드도 프론트 엔드 없이 백 엔드만 사용하게 되면 ..

공부/AIFFEL 2021.03.10

Exploration 16 : 흐린 사진을 선명하게

1. Super Resolution 이란? - 픽셀이란 무엇인가 1) 디스플레이를 구성하고 있는 가장 작은 단위 - 빛의 3원색을 혼합하여 색을 나타내는 방식은 무엇인가 1) RGB - 픽셀과 해상도의 관계는 무엇인가 1) 해상도는 가로와 세로의 픽셀 수로 표기하며, 픽셀의 갯수가 많을수록 고해상도가 되어 선명해진다. - UHD, QHD, FHD, HD 순으로 해상도가 높다. - 사실 해상도에 대해 정확히 설명할 때는 픽셀 수 뿐만 아니라, 픽셀의 크기 등을 고려해야 하지만, 오늘 학습한 내용에서는 이 부분까지 다루지는 않았다. - Super Resolution이란 저해상도 영상을 고해상도 영상으로 변환하는 작업 또는 그러한 작업을 말한다. - Super Resolution은 수 많은 컴퓨터 비전 연구 ..

공부/AIFFEL 2021.03.09

FUNDAMENTAL 27. 딥러닝 레이어의 이해(2) Embedding, Recurrent

1. 분포가설과 분산표현 - 희소 표현(Sparse Representation) : 벡터의 특정 차원에 단어 혹은 의미를 직접 매핑하는 방식 - 분포 가설(distribution hypothesis) : 모든 단어를 고정차원의 벡터로 표현한다. 어떤 차원이 특정한 의미를 가진다고 가정하지 않는다. 단지 유사한 맥락에서 나타나는 단어는 그 의미도 비슷하다라는 가정을 한다. - 분산 표현(distributed Representation) : 유사한 맥락에 나타난 단어들끼리는 두 단어 벡터 사이의 거리를 가깝게 하고, 그렇지 않은 단어들끼리는 멀어지도록 조금씩 조정하여 얻어지는 단어 벡터 - 다음에 배울 Embedding 레이어는 단어의 분산 표현을 구현하기 위한 레이어이다. 간단하게 컴퓨터용 단어 사전인 것..

공부/AIFFEL 2021.03.08

FUNDAMENTAL 26. 빅데이터 생태계

1. 빅데이터 연대기 - 2002년 : 더그 커팅(Doug Cutting)과 마이크 카파렐라(Mike Cafarellr)가 웹 크롤러 너치(Nutch) 개발 - 2003년 : 구글에서 분산 처리용 파일 시스템인 GFS(Google File System) 논문 발표 - 2004년 : 구글에서 분산 처리용 프로그래밍 모델인 맵리듀스(MapReduce) 논문 발표 - 2005년 : 더그 커팅, 마이크 카파렐라의 주도 하에 NDFS(Nutch Distributed File System) 프로젝트 시작 - 2006년 : 더그 커팅 야후에 합류, 야후에서 최소의 하둡 기반 클러스터 구축, 구글에서 빅테이블(BigTable) 논문 공개 이는 향후 아파치 하둡의 HBase의 근간이 됨 - 2007년 : 아파치 하둡 1..

공부/AIFFEL 2021.03.08

Exploration 15 : 트랜스포머로 만드는 대화형 챗봇

1. 트랜스포머와 인코더 디코더 - 번역기를 만드는 데 사용한 대표적인 모델인 인코더와 디코더 구조를 되짚어 보겠다. - 번역기는 인코더와 디코더 두 가지 아키텍처로 구성되어 있다. 1) 인코더 : 입력문장이 들어가는 곳 2) 디코더 : 인코더에 들어간 문장에 상응하는 출력 문장을 생성하는 곳 - 번역기를 훈련한다는 것은 결국 입력 문장과 출력 문장 두 가지 병렬 구조로 구성된 데이터셋을 훈련한다는 의미이다. - 이런 병렬적으로 구성된 데이터셋을 인코더와 디코더로 학습하는 경우는 번역기에만 한정되어 있지 않다. 질문에 대한 대답을 하도록 구성된 데이터셋을 인코더와 디코더로 학습한다면, 챗봇을 만들 수 있을 것이다. - 트랜스포머의 인코더와 디코더 1) 트랜스포머라는 것도 변역기와 마찬가지로 인코더와 디코..

공부/AIFFEL 2021.03.05