공부/AIFFEL 95

FUNDAMENTAL 25. 더 많이! 더 깔끔하게! 데이터를 관리하는 데이터베이스

1. 파일 시스템 활용 - 오늘 노드의 컨셉은 내가 데이터 관리 어플리케이션을 제작하는 파이썬 개발자가 된 것이다. - 파이썬을 이용해서 텍스트 파일에 담긴 데이터를 읽어와서 필요한 정보를 출력하는 어플을 만든다는 가정으로 진행되었다. - 1단계 : 문제 설명 1) 어떤 파일에 사원들의 정보가 담긴 데이터가 있는데 이 파일을 읽어와서 월급을 계산하고, 월급이 가장 높은 사원을 찾는 프로그램을 만들 것이다. - 2단계 : 필요한 함수 만들기 1) 코딩을 하기 전에 전체 프로그램을 어떻게 구성할지 대략적으로 생각해 본다. 2) 어떤 프로그램을 만들지, 그 안에는 어떤 함수가 필요한지, 함수들은 어떤 기능을 할지 등 3) 여기서는 summarize()라는 함수를 만드는 것을 예시로 듬 - 3단계 : Class..

공부/AIFFEL 2021.03.03

Exploration 14 : 폐렴아 기다려라!

1. 의료영상에 대해 - 의료 영상 종류 1) X-RAY (1) X-RAY는 전자를 물체에 충돌시킬 때 발생하는 투과력이 강한 복사선(전자기파)을 말한다. (2) X-RAY는 방사선의 일종으로 지방, 근육 같이 밀도가 낮은 것은 통과하지만, 밀도가 높은 뼈, 금속 같은 물질은 잘 통과하지 못한다. 2) CT (1) CT는 Computed Tomography의 줄임말로, 환자를 중심으로 X-RAY를 빠르게 회전하여 3D 이미지를 만들어내는 영상이다. (2) 환자의 3차원 이미지를 형성하여 기본 구조뿐만 아니라 종양 또는 이상을 쉽게 식별하고 위치를 파악할 수 있다. (3) 신체의 단면 이미지를 "Slice"라고 한다. 이러한 Slice는 단층 촬영 이미지라고도 하며 기존의 X-RAY보다 더 자세한 정보를 ..

공부/AIFFEL 2021.03.02

FUNDAMENTAL 24. 맵리듀스로 그리는 빅데이터 지도

1. "빅"데이터 처리의 기본패턴 - 빅데이터를 처리한다. 말 그대로 데이터 용량이 크고 처리 시간도 많이 소요될 것이 머리속에 그려진다. - 그럼 좋은 성능의 컴퓨터를 써야하겠고, 혹은 여러 컴퓨터를 연결하여 작업을 분할해 볼 수 있다. - 이런 컴퓨터 자원을 엮어서 병렬 컴퓨터(Parallel Computing), 분산 컴퓨터(Distributed Computing)을 통해 단일 컴퓨터로는 처리하기 힘든, 혹은 아예 메모리에 담아둘 수조차 없을 많큼 큰 데이터를 다뤄볼 수 있다. - 비슷한 개념으로 클러스터 컴퓨팅(Cluster Computing)이라는 것도 있다. - 빅데이터를 다루는 솔루션이라는 하둡, 스파크 등의 생소한 이름의 빅데이터 처리 매커니즘이란 것이 있다. - 오늘 배울 개념은 맵리듀스..

공부/AIFFEL 2021.03.01

Exploration 13 : 어제 오른 내 주식, 과연 내일은?

1. 미래를 예측한다는 것은 가능할까? - 생각해 볼 수 있는 미래 예측 시나리오 1) 지금까지의 주가변곡선을 바탕으로 다음 주가변동 예측 2) 특정 지역의 기후데이터를 바탕으로 내일의 온도변화 예측 3) 공장 센터데이터 변화이력을 토대로 이상 발생 예측 - 위 예시의 공통점은 예측의 근거가 되는 시계열(Time-Series) 데이터가 있다는 것이다. - 시계열이란 시간 순서대로 발생한 데이터의 수열이라는 뜻이다. - 일정 시간 간격으로 발생한 데이터일 때가 많지만 꼭 그래야만 하는 것은 아니다. 매일의 주식 거래 가격을 날짜-가격 형태로 날짜순으로 모아둔 데이터가 있다면 시계열 데이터가 될 것이다. 이 때 날짜가 인덱스(index) 역할을 하게 된다. - 그럼 저런 주식 데이터로 미래를 예측 할 수 있..

공부/AIFFEL 2021.03.01

Exploration 12 : 프로젝트 시각화(gif파일) - 번호는 과제파일의 번호와 일치함.

12번 과제 내용에 모델이 생성한 결과물을 gif로 만들어서 github에 올리는 것이 있는데 github에 gif 파일이 보이지 않아서 블로그에 올렸다. 8. 학습과정 시각화하기에 대한 시각화 사진 (모델은 기존모델이고 lr이 1e-4) 9_1. 새로운 모델 구조, lr = 1e-4에 대한 시각화 사진 9_2. 기존 모델 구조, lr = 1e-5에 대한 시각화 사진 9_3. 새로운 모델 구조, lr = 1e-5에 대한 시각화 사진

공부/AIFFEL 2021.02.25

FUNDAMENTAL 23. 파이썬으로 이미지 파일 다루기

1. 디지털 이미지 - 디지털 화면은 수많은 점들로 이루어져 있으며, 색상을 가지는 점 하나를 화소(pixel, picture element)라고 한다. - 화소는 RGB(Red, Green, Blue) 세 개의 단일 색의 강도를 각각 조절하여 색상을 표현한다. - 색의 종류가 3개인 이유는 눈의 망막에 있는 시세포가 인간의 경우 대부분 세 가지로 이루어져 있기 때문이다. - 특이한 점은 일부 인간들과 새들은 시세포 종류가 하나씩 더 있어서 색을 조금 세밀하게 인식하거나 일부 자외선 영역을 감지할 수 있다. - 이렇게 구성된 디지털 화면에 표실될 이미지를 저장하는 방법 중 가장 단순한 방법은, 각 점 하나하나의 색상 값을 저장하는 방식이다. - 위의 방식을 래스터(raster) 또는 비트맵(bitmap)..

공부/AIFFEL 2021.02.24

Exploration 12 : 인공지능으로 세상에 없던 새로운 패션 만들기

1. 없던 데이터를 만들어낸다, 생성 모델링 - 지금까지 만들었던 모델은 판별 모델링(Discriminative Modeling)이라 부른다. - 오늘 배울 것은 생성 모델링인데, 이는 말 그대로 없던 데이터를 생성해내는 것이 목표이다. - 즉, 판별 모델과 생성 모델을 말하자면 아래와 같다. 1) 판별 모델 : 입력된 데이터셋을 특정 기준에 따라 분류하거나, 특정 값을 맞추는 모델 2) 생성 모델 : 학습한 데이터셋과 비슷하면서도 기존에는 없던 새로운 데이터셋을 생성하는 모델 2. Pix2Pix - Pix2Pix는 간단한 이미지를 입력할 경우 실제 사진처럼 보이도록 바꿔줄 때 많이 사용되는 모델이다. - 한 이미지를 다른 이미지로 픽셀 단위로 변환한다는 뜻의 Pixel to Pixel을 딴 Pix2Pi..

공부/AIFFEL 2021.02.23

풀잎스쿨 - DeepML(CS231N) Lec. 09

오늘은 저번에 못 본 9강을 전부 봤다. 저번에는 AlexNet을 배웠고, 오늘은 VGG, GoogLeNet, ResNet을 배웠다. 1. VGG - 매우 심플하고 딥한 모델이다. - 16 혹은 19층을 쌓았다. - 3x3 CONV stride 1, pad 1 and 2x2 MAX POOL stride 2를 사용했다. - 3x3을 쓰면서 7x7 필터를 쓰는 효과를 얻으면서 더 적은 파라미터를 만들어 계산비용을 줄였다. 2. GoogLeNet - 22개의 층을 가진다. - 인셉션 모듈을 가지고 있다. - 단지 5만개 파라미터만 가진다. (AlexNet에 비해 12배 적다) - 인셉션 모듈은 Multiple receptive field sizes for convolution (1x1, 3x3, 5x5), P..

공부/AIFFEL 2021.02.22

FUNDAMENTAL 22. 딥러닝 레이어의 이해 (1) Linear, Convolution

1. 데이터의 형태 - 딥러닝을 이해하는 바업 중 가장 쉬운 방법은데이터의 형태 변화를 좇는 것이다. - 이미지 데이터는 보통 채널(Channel)이라는 것을 가진다. 우리가 일상적으로 사용하는 것은 대부분 RGB 이미지이다. - RGB의 표현 방식에 따라 (C, W, H) 또는 (W, H, C)와 같이 표기할 수 있다. 이 표기법을 알고 있다면, 어떤 딥러닝 모듈이 요구하는 데이터 형태를 알아보고 그에 맞게 데이터를 변형 시킬 수 있다. 2. 레이어는 어렵다? - 레이어(Layer) : 하나의 물체가 여러 개의 논리적인 객체들로 구성되어 있는 경우, 이러한 각각의 객체를 하나의 레이어라 한다. - 딥러닝에서 보통 신경망의 Weight라고 표현했지만, 정확히는 레이어의 Weight가 맞다. 신경망은 레이..

공부/AIFFEL 2021.02.22

FUNDAMENTAL 21. SQL을 이용해 DB와 대화해보자

1. 파이썬으로 DB 다루기 - SQLite : 서버의 필요 없이 DB의 파일에 기초하여 DB 처리를 구현한 임베디드 SQL DB 엔진이다. - SQLite는 별도의 설치 없이, 쉽고 편리하게 사용할 수 있다는 점에서 많이 사용되고 있다. - 파이썬과 DB : 파이썬과 DB는 서로 연결이 되있지 않는 상태이지만 SQLite가 이를 연결해주는 다리 역할을 하고 있다. - Python DB API : sqlite3 패키지를 사용한다. - sqlite DB Browser : DB 브라우저 어플리케이션을 통해 데이터베이스에 직접 접근해서 질의를 수행해 볼 수 있다. - 트랜잭션 : 쪼개지면 안되는 압무단위를 말함. 예를 들어 ATM 계좌이체 시 출금계좌와 입금계좌 양쪽에서 금액이 빠지고 더해지는 과정을 말할 수..

공부/AIFFEL 2021.02.19