🐰 골든래빗 출판사로부터 책을 제공받아 작성했습니다. Contents 1단계 딥러닝 입문하기 2단계 입문용 신경망 3총사 CNN, ResNet, RNN 3단계 딥러닝으로 이미지 처리하기 4단계 딥러닝으로 텍스트 처리하기 5단계 GAN으로 생성 모델 만들기 What I want to learn 텐서플로우 1.0을 사용하다가 파이토치로 메인 프레임워크를 바꾸면서 가장 중요했던건 실무에 써먹을 수 있을 정도의 실력으로 업그레이드하는 것이었다. 기존에 나와있는 책들도 물론 좋았지만 좀 더 실무에 필요한 노하우들이 필요했고 이 책에서 얻을 수 있을 것이라 생각했다. 최근 이미지 데이터를 다루게 되면서 이미지 데이터를 분류하는 모델과 이미지 데이터의 전처리 단계라 불릴 수 있는 GAN과 같은 모델을 이용한 augm..
회사를 다니고 팀원들과 같이 일을 하게 되면서 많은 것들을 배웠다. 소통하는 법과 코드를 가독성 좋게 작성하려는 노력들을 알게 되었다. python 코딩 컨벤션에 나와있는 것도 있지만 그 외에도 새롭게 알게된 내용들이 있어 정리할 겸 글을 쓰게 되었다. Naming 함수는 일반적으로 동사 먼저 사용하는 것이 좋다. 만일 property라면 상황이 바뀌겠지만 예를 들면, eye_crop은 crop_eye로 바꾸면 된다. class는 명사화 시키는 것이 좋다. 책에도 많이 적혀있지만 camelcase를 권장한다. 위의 함수를 class로 만든다면 EyeCropper로 만들 수 있다. 주로 github에 잘 짜여진 코드를 보면서 네이밍 아이디어를 얻는데 get, export, parse, generate, r..
✨ multiprocessing이 필요한 이유 많은 개발자들이 하는 일 중 하나는 기다리기일 것이다. 최근 회사에 취업을 하고 나서 제일 먼저 맡은 일은 두개의 데이터베이스에 존재하는 sequence 정보들을 가지고 similarity를 구해 relation 데이터베이스를 만드는 것인데 거의 일주일 넘게 삽질을 하였다. (혼남의 연속..🙇🏻♀️) 각 데이터프레임의 sequence들을 cross mapping하여 계산해야하기 때문에 대략적으로 코드를 짜면 아래와 같다(sequence similarity 계산은 생략하고 sequence를 단순히 더하는 계산 코드임) def calculate(first_df, second_df): results = [] for first_index, first_seq in ..
What I want to learn 천인우님은 메타1에서 소프트웨어 엔지니어로 일하시다가 뱅크샐러드로 과감히 발을 돌린 분이다. 처음 알게된 경로는 하트시그널2에 나왔다는 것이었는데 짧은 내용이지만 자신이 믿고 가려고 하는 길엔 거침없이 나아가는 모습이 굉장히 인상깊었다. 얼마뒤 책을 출간하셨다는 말을 듣고 구매한 책이다. 책을 구매한 당시 나는 이제 막 취업을 시작하려고 한 취준생이었다. 이 책을 통해서 먼저 앞서나간 그것도 메타 기업을 다닌 시니어 개발자의 노하우와 생각을 책을 통해 배우고 내 인생에 적용하고 싶었다. Review 최근 session이란 앱을 사용하고 있다. 뽀모도로같은 앱인데 하루에 얼마나 시간을 잘 사용하고 있는지 알 수 있다. 자신이 하루 종일 어떻게 공부하고 일하는지 작은 습..
Multivariable Fractional Polynomials(MFP)란? 희귀 모델에서 중요한 예측 변수를 선택하여 예측률을 높이는 전략을 사용한다. 모델 구축 시 선형 모델이 식을 잘 표현할 수 있지만 선형성 가정이 올바르지 않아 최종 모델이 잘못 지정될 수 있다. 그래서 비선형성이 특징인 MFP가 있다. MFP는 분수 다항식(fractional polynomials)과 후진 소거(backward elimination)의 조합으로 이루어져 있다. 여기서 분수 다항식이란 이름 그대로 분수로 이루어져 있는 다항식을 뜻하며, log, 정수가 아닌 지수(exponentiation), 지수 반복 허용의 3가지를 허용한다. 즉, 중요한 변수를 선택하고 연속 예측 변수에 적합한 기능적 형태를 결정하는 두가지 ..
캐글 필사 코드에서 RNN의 kernel initializer를 orthogonal로 사용하였는데 이 부분이 궁금해서 찾아보다가 흥미로운 글을 발견했는데 이해하기 쉽게 설명되어 있어 일부를 번역하였다. RNN의 문제점 딥러닝의 기초적인 동작은 matrix multiplication(행렬 곱셈)을 반복하는 것이다. 그 결과 계산할수록 행렬 값은 기하급수적으로 변하고 값이 빠르게 사라지거나 치솟아오를 수 있어(무한으로 감) 안정성에 문제가 생긴다. RNN은 weight를 반복해서 곱하기 때문에 기울기 소실(gradient vanishing)이 생길 수 있다. 이를 해결하기 위한 initializer가 orthogonal matrix(직교 행렬)이다. Eigenvalues eigenvalue를 설명하기 위해 ..
MIMIC3를 이용한 딥러닝 모델들의 벤치마킹 연구 논문을 리뷰하려 합니다. Abstract 딥러닝 모델은 다양한 분야에서 많이 사용되고 있다. 그러나 오픈소스 의료데이터를 이용한 머신러닝과 예후 scoring system SOTA 수준의 딥러닝 모델은 거의 없다. 본 논문에서는 딥러닝 모델 또는 머신러닝 모델의 앙상블, SAPS II와 SOFA 점수를 이용한 몇개의 의료 분야에서의 예측(사망, 입원기간, ICD-9 code 그룹) 벤치마킹 결과를 제시하려한다. 해당 연구에서는 ICU 데이터셋인 MIMIC III를 사용하였다. 본 논문의 결과는 딥러닝 모델은 raw clinical time series data를 input feature로 사용하는 모델들에게 지속적인 성능이 나온다는 결과를 보여준다. I..
서점에 갔다가 별 생각 없이 집어든 책이 나에게 엄청 큰 행복과 깨달음을 주었다. 현재의 삶에 자신이 없고 후회하는 사람들에게 추천하는 책📚 제일 중요한 것은 무엇을 보느냐가 아니라 어떻게 보느냐다. 내가 후회하던 것들을 다른 우주의 나는 행동했을거고 그 우주 속의 나는 나와는 같으면서도 다른 나일 것이다. 결국 나는 유일한 이 우주 속의 나이기 때문에 내 삶을 소중하게 여기고 나 스스로를 돌봐야한다. 요약 그저 그런 삶을 살고 있던 노라는 자신의 고양이인 볼테르가 죽고나서 자신도 죽음을 택한다. 삶과 죽음 사이에 있는 도서관이는 자신의 학창시절 사서 선생님이였던 엘름주인이 계셨다. 도서관의 책을 펼치면 직각 인생을 살 수 있다고 한다. 노라는 댄과 헤어진 것을 후회하고 있고 그 후회를 되돌리는 책을 펼..
리눅스에서 하나의 창이 아닌 여러 창을 함께 사용할 때 유용한 tmux 사용법이다. 리눅스 원격 연결이 꺼져도 서버가 꺼지지 않는 이상 tmux로 돌려놓은 코드는 다운되지 않는다. tmux 구성 요소 session: 여러 윈도우로 구성 window: 터미널 화면, 세션 내에서 탭처럼 사용 가능 pane: 하나의 윈도우 내에서의 화면 분할 session 관련 명령어 # 새로운 세션 생성 tmux new -s (session_name) # 세션 만들면서 윈도우랑 같이 생성 tmux new -s (session_name) -n (window_name) # 세션 종료 exit # 세션 목록 tmux ls # 세션 다시 시작하기(다시 불러오기) tmux attach -t session_number # 세션 중단하..