Image Generation 연구
뭔가 텀블러가 많이 바뀌었네요.
그간 일하느라 바빠서 개인적으로 공부만 하고 포스팅을 하지 못 했는 데... 다시 하나 씩 해보려고 합니다. 언제든지 접을 수 있겠지만.. 접기 전까지는 열심히 해보겠습니다.
Deep Learning으로 시작한 AI 공부가 돌고 돌아서 다시 Image Generation 쪽으로 아이디어가 생겼네요.
이 부분을 정리해서 논문으로 작성해보고자 합니다.
Claire Keane
Mike Driver
No title available
sheepfilms
todays bird

bliss lane
we're not kids anymore.
Xuebing Du

Kiana Khansmith
will byers stan first human second
NASA

No title available
Sweet Seals For You, Always

Love Begins
h
The Stonewall Inn
Fai_Ryy
TVSTRANGERTHINGS
trying on a metaphor
EXPECTATIONS

seen from Switzerland

seen from United States

seen from Mexico
seen from Colombia

seen from Colombia

seen from Brazil

seen from United States
seen from United States
seen from United States
seen from United States

seen from United States

seen from United States
seen from United States

seen from United States
seen from United States
seen from United States
seen from Albania

seen from Romania
seen from United States

seen from Malaysia
@loveayase
Image Generation 연구
뭔가 텀블러가 많이 바뀌었네요.
그간 일하느라 바빠서 개인적으로 공부만 하고 포스팅을 하지 못 했는 데... 다시 하나 씩 해보려고 합니다. 언제든지 접을 수 있겠지만.. 접기 전까지는 열심히 해보겠습니다.
Deep Learning으로 시작한 AI 공부가 돌고 돌아서 다시 Image Generation 쪽으로 아이디어가 생겼네요.
이 부분을 정리해서 논문으로 작성해보고자 합니다.
파이썬을 활용한 베이지안 통계 Chapter 2
개요
Chapter 2 문제 풀이, 말만 약간 바꾼 것 같은데 문제 2-3번이 굉장히 어려웠다. 몬티홀 자체는 이해를 했는데.. 뭔가 2번을 될 수 있으면 선택한다? 이런 개념 자체가 어려워서 내일 출근길에 다시 한번 더 살펴봐야겠다. 오늘 퇴근 길에 Chapter 3을 보고 있었는데... 뭔가 역시 읽는 것이랑 실제 문제를 푸는 것과는 차이가 있다.
결과
소스 코드
나의 풀이 https://github.com/loveayase/BiteSizeBayes
파이썬을 활용한 베이지안 통계 Chatper 1
개요
파이썬을 활용한 베이지안 통계 연습 문제를 풀어 보았다. branch를 따는 경우는 많지만 fork할 기회가 많이 없어, 원작자의 코드를 과감하게 fork해서 문제를 풀어보고자 했다. 원작자는 주피터를 사용하여 코드를 구현해두었는데, 나는 pycharm 환경이 더 익숙해서, 해당 환경에서 코드를 구현했다. 그리고 최근에 객체 지향으로 될 수 있으면 코딩을 하고 있기 때문에, 상속등을 사용해서 코드 재활용성을 최대한 높히고자 하였다.
결과
소스 코드
원작자 Git hub https://github.com/AllenDowney/BiteSizeBayes
나의 풀이 https://github.com/loveayase/BiteSizeBayes
DL - BERT Pretrain (1)
1. 개요
최고급 컴퓨터를 맞춘 김에 아무것도 학습되지 않은 BERT 모델을 내가 가진 데이터로 학습하여 Pretrain Model을 만들어 보고자 했다.
ETC - 텐서플로우2.10.0 환경 설정하기
1. 개요
문득 최고급 인텔 라인업 인 i9을 사용해보고 싶어지는 바람에 급하게 컴퓨터를 주문했다. 딥러닝 개발을 계속하고 싶은 마음 20%, Escape From Tarkov가 잘 돌아 갔으면 하는 마음 80%로 구매를 진행했고, 최종 사양은 아래와 같다.
가장 중요한 그래픽 카드는 예전 컴퓨터에서 3090을 떼서 붙이기로 했고, 이전 컴퓨터는 2080을 세팅해두었다. 그 컴퓨터도 꽤나 사양이 괜찮기 때문에 재활용 방법을 찾고 있다. 아 저기서 SSD가 빠진 이유는 블랙 프라이데이 때 삼성 980 Pro 2TB를 직구해두었는데 플스5에 넣으려다가 이번 컴퓨터에 넣게 되었다. 테마는 공랭으로 할 수 있는 최대한의 성능을 뽑아보자였고 만족하며 사용하고 있다.
2. 방법
1) 텐서플로우 최신 버전은 2.11이며 윈도우 버전에서는 GPU를 지원하지 않는다는 것으로 알게 되었다.
2) pip install tensorflow==2.10으로 설치
3) CUDA Toolkit 11.2 다운로드
4) cuDNN v8.1 으로 for cuda 11.2로 다운로드
5) 간단한 텐서플로우 코드 확인
※ 최종 다운로드 파일 cudnn-11.2-windows-x64-v8.1.0.77
cuda_11.2.0_win10_network
3. 삽질 포인트
1) 텐서플로우 2.11을 설치했다가 계속 GPU가 연동이 안되어서 처음에는 최신 버전 드라이버 cuDNN버전 Cuda 버전이 문제인 줄 알고 몇 번 그래픽 카드를 지우면서 설치 했음
2) cuda 11.2를 설치하는데 상위 버전의 쿠다가 설치되어 있으면 newest 라고하면서 오류가 발생하는 것을 확인하였다. 따라서 nvidia관련 모든 것을 삭제하고 다시 설치
3) 추후 리서치 해보니 11.2에서는 더이상 gpu를 지원하지 않는다고 한다. 후.
4. Reference
https://discuss.tensorflow.org/t/tensorflow-gpu-not-working-on-windows/13120 2.11 이상의 텐서플로우에서 GPU를 지원하지 않음
Python - 돈복사기 프로젝트
1. 개요
한국 주식 API는 파이선이랑 연동하기 어렵게 되어있다. 해외주식을 연동하기에는 외국의 API를 사용해야하는데 사용료가 무시무시하고, 국내 API를 사용하는 경우에는 선물밖에 되지 않았다. 그러다가 찾아본 것이 코인, 4월 10일경에 처음으로 시작했었는데. 당시에는 굉장히 핫 했기에 꽤 괜찮은 수익률을 냈으나... 최근 다양한 악재를 연속으로 맞으면서 거래량이 떨어지면서 수익이 나빠지는 것을 확인할 수 있었다. 추후 코인시장이 다시 핫해지면 이어서 개발하는 것으로 해보자. 궁금하시겠지만 최대수익은 하루에 150으로 230까지 불렸던 것이고, 현재는 계속된 테스트로 150이 70까지 떨어졌다. ㅋㅋㅋ
패턴이 있느냐? 라고 물어본다면 있다고 말할수 있을것도 같다. 왜냐하면 실제로 특정 조건을 만족하는 시장에서는 굉장한 수익률을 냈었기 때문이다.
2. 도전 해본 새로운 기술
Upbit Python API 연동을 통한, 코인 구매, 판매 등 (시장가, 지정가)
Deep Learning
Mutli Input Model
Label Smoothing
Convolutional Auto Encoder
3. 까먹지 않기 위해 복습한 기술
딥러닝 각종 지식들
4. 구현 결과
추후 작성
References
추후 작성
Python - Stock Auto Trading System (진행 중)
1. 개요
주식에는 관심이 이 글을 쓰는 지금도 없지만, 퀀트 투자(?)와 같은 수리 통계적 정보에 근거하여 투자하면 과연 돈을 벌수 있을까 하는 생각이 들어서 자동 매도/매입 시스템을 만들어 두면 좋을 것 같았다.
2021년 새해에는 세 가지 목표를 세웠는데, 그것은 아래와 같다.
1 프로그래밍, 1 논문, 1 전공 서적 읽기
그 중 1프로그래밍을 지금 이 포스팅으로 대체하고자 한다. 가볍게 시작할 토이프로젝트로 생각하고 있으며, 목표는 올해 1분기 까지 자동 매도/매입, 계좌 연동, 주식 가치를 평가하기 위한 알고리즘에 필요한 데이터 수집 등을 목표로 하고 있다. 2분기 부터는 알고리즘 생성(머신러닝, 딥러닝, 기타 수리 통계적 알고리즘) 및 모의투자 시작 및 매일, 매주기, 매월 등의 손익률 평가 3분기 이후로부터는 실제 계좌 연동을 통한 주식 구매 및 전자동화를 목표로 하고 있다.
예전 부터 차트로 보고 주식을 사는 건 빈약 한데이터로 추정하는 것이라 생각했기에 다른 더 많은 빅데이터를 융합하여 체크를 할 수 있을 것이라 생각한다.
돈까지 벌면 더 좋고.
프로그래밍 적으로는 디자인 패턴을 접목 시키고, 완전한 객체 지향 형태의 프로그램으로 구현하여 유지 보수를 잘할 수 있도록 하는 것이다.
2. 도전 해본 새로운 기술
키움 증권 API 연동 및 32비트 환경의 파이선 세팅
3. 까먹지 않기 위해 복습한 기술
4. 구현 결과
Python 실행 환경(32bit) 및 키움 증권 API 연동 완료 (2021/1/1)
한국 거래소 기업 종목 2411개 DB화 완료 (2021/1/2) 공시된 기업 수는 2411개이며, 158개의 종목을 가짐 (종목 당 15개 내외의 기업이 등록되어 있을 것으로 추정 가능)
References
한국 상장 기업 종목 코드 데이터 획득용 참고 사이트 https://kind.krx.co.kr/corpgeneral/corpList.do?method=loadInitPage
주식 용어 공부용 https://gall.dcinside.com/board/view/?id=neostock&no=1&page=1
Python - IBM Watson TTS API
1. 개요
평소에 유튜브 보다 트위치 방송을 자주보는 편인데... 도네이션을 보면 굉장히 머리를 탁! 치게 하는 엄청난 드립들이 많이 보였다. TTS 서비스가 최초에는 남자 여자 정도밖에 없었는데, 어느새 잼민이도 나오고 기타 등등도 나오는 것으로 봥서 저거 녹음을 직접 다하는 건지.. 아니면 최근에 GAN 기반의 인공지능 모델에 목소리를 합성해서 만든건지 궁금했다.
그리고 가장 알고싶었던건 도네이션 과연 원가가 얼마인가 싶었다. 알아보니 아니나다를까 모델자체를 학습하고, 데이터가 많이 수집되어있는 곳은 구글, IBM 같은 기업이었고 구글 TTS를 사용하려다가 구글은 메뉴얼도 아주 잘되어있고 성능도 좋을 것 같고, 혹시 내가 업무에서 사용할지도 모르니까 크레딧을 아끼자는 측면에서 IBM Watson TTS를 적용해보았다.
트위치 방송에 사용되는 프로그램은 OBS Studio가 대표적인데 도네이션을 연동한다는 의미는 아래와 같다
OBS Studio의 웹페이지를 연동, 해당 웹페이지의 javascript, css 등의 코드를 통하여 구현, 일반적으로 웹페이지는 이벤트기반의 동작이기 때문에 서버로부터 이벤트를 받아서 처리하기 위해서 socket.io 연동까지가 프론트엔드 사이드
socket.io 메시지를 보내기 위한 백엔드 사이드, 및 이벤트 발생
딱 보니 저렇게 구현하면 되겠다 싶어서 직접 만들어 보았다. 아 여기서 본인이 사업화를 하고 싶다면 도네이션을 받는 사이트를 만들면되겠다. 필자는 웹프로그래밍에 지쳐 더이상은 Naver를 외치면서, 트위치 챗봇을 연동했다.
2. 도전 해본 새로운 기술
IBM Watson TTS Service
TTS는 Text to Speech로써, 문장을 보고 사람이 읽는 듯한 음성을 만들어내는 서비스를 말한다.
ibm의 경우 한달에 10,000글자까지는 무료로 제공하고 있으며, 유료의 경우에는 한달에 1000글자당 0.02$를 청구한다.
트위치 챗봇
트위치의 채팅시스템은 20년전의 IRC시스템을 공유하고 있다. 따라서 IRC를 조금 해본 사람들이면 아 이게 비슷한데 라는 느낌을 많이 받을 것이며, 안 받는다면 트위치 채팅을 굉장히 커스터마이징 했기 때문이라고 생각하면된다.
3. 까먹지 않기 위해 복습한 기술
는 따로 없습니다 ㅎ
4. 결과
영상편집 중
References
IBM Watson https://cloud.ibm.com/apidocs/text-to-speech
Kaggle - ..
01. 서론
(작성중)
02. 본론
(작성중)
03. 결론
(작성중)
References
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
https://arxiv.org/abs/1905.11946
A simple squared-error reformulation for ordinal classification
https://arxiv.org/pdf/1612.00775.pdf
EfficientDet: Scalable and Efficient Object Detection
https://arxiv.org/pdf/1911.09070.pdf
ETC - 100만원 문제
아침에 일찍일어났는데, 우연히 본 문제. 그리고 출근하기 전 까지 계속 생각했던거 같다.. 30초안에는 못풀었으니 탈락인 듯 ㅋㅋ
100만원 게임
1 모르는 사람과 둘이서 방에 있다
2 당신은 100만원을 둘이 나눌 것을 명령 받는다
3 당신은 자유롭게 금액을 결정할 수 있지만 100만원임을 상대방도 안다
4 상대방과 직접 대화 할 수 없다
제시 한 금액에 상대방이 납득하면 협상 성립 → 둘 다 돈을 가지고 돌아갈수 있다
제시 한 금액을 상대방이 거절하면 협상 불성립 → 100 만원은 몰수
당신은 이 상황에서 얼마의 금액을 제시 하시겠습니까?
30초안에 답변하세요
처음에 생각했던 비율은 50:50이다.
하지만 이것은 1초만에 누구라도 생각하는 문제니까, 조금 더 생각해보기로 했다.
내가 가지는 이윤을 최대화하되, 상대방의 심기를 건드리면 안된다.
또한 상대방은 내가 주는 만큼을 군말없이 받을수 밖에 없다. 나는 상대방의 심기를 어지럽히면 0원이된다.
그러면 결국 상대방이 거절을 할 확률이 50(나):50(상대방)일 때 확률이 1
100(나) : 0(상대방)일 때 확률이 0
상대방이 거절을 할 확률
P(100) = 0, P(50) = 1이게 된다. 여기서 그냥 선형회귀로 중간 변수를 추산하면, 내가 상대방보다 2만원씩 가져갈 때마다 상대방이 거절버튼을 누를 확률이 1% 증가한다고 볼 수 있다. 여기서 단순 기댓값을 계산하면 50만원일때가 제일 높다.
하지만 위에서 몇가지 가정에 대해서 생각을 더 해보았다. 일단 모르는 사람이고, 상대방은 결국 내가 쥐어주는 돈만 받게 된다. 따라서 상대방 입장에서는 최대 50만원 최소 0만원을 가지게 된다. 그리고 내가 돈을 압도적으로 많이 들고가게되면 결국 총 파이 100만원에 대해서 나누어 가지는 것을 알고있는 상대방의 고까움이 발동을 하게 되는 것이다.
어차피 쟤가 100만원 들고가면 내가 0만원을 들고가나, 내가 버튼을 눌러서 둘다 0원을 만드나 같기 때문에, 누른다는 것이다. 조금씩 줄여서 내가 만원 상대방이 99만원을 들고간다고 해보자. 아마 누른다. 한국인이고 내친구들이라면 분명히 누른다. 커뮤니티의 댓글을 봤을 때는 60:40정도라고 본인의 심정으로 이야기한 댓글을 많이 보았는데.. 글쎄다.
여튼 일단 모르는 사람이고 내가 그사람에게 제시할 수 있는건 단순히 금액밖에 없다. 그리고 내가 손해를 최소화하면서 상대방이 가질 수 있는 평균이상의 이윤을 쥐어주면 어떨까? 상대방의 입장에서는 돈을 자기가 컨트롤 할 수 없기 때문에, 내가 쥐어주는 돈을 붙잡아야한다. 위에서 말했듯 만원이라도 감사하게 받아가면 좋은데.. 아니니께.. 그러면 상대방의 입장에서 최대 금액은 50만원이라고 본다. 왜냐하면 굳이 돈을 나누는 입장에서 상대방에게 50만원 이상의 돈을 줄 필요는 없으니까, 그리고 말도 못하기 때문에 협박도 못한다. 이것이 4번룰인 것이다. 그러면 상대방의 입장에서의 최대 금액은 50만원 그게 아니면 0원이다.
즉 25만원 정도 받으면 이사람은 누를지 말지 확률이 반이라고 생각하는 것이다.
그렇다면 상대방에게 26만원을 쥐어주면 이사람이 적어도 안누를 확률보다는 높다. 왜냐하면 자기가 받을 수 있는 금액의 평균보다는 높은 금액이니까. 그리고 나도 74만원을 가져감으로써 50만원보다는 24만원을 더챙길 수 있다.
그래서 74만원대 26만원.. 이렇게 주면 어떨까 생각해봤다.
정답은 아니고 그냥 이런 저런 생각을 하다보니까 생각이 났다.
뭐 주저리 주저리 길게 적었지만, 수식으로 풀어서 썼는데 여긴 옮기기 귀찮아서 옮길 수가 없다 윽
추가로 더 생각이 난 것은 기회가 단판 즉 한번의 기회만 주어진다는 것이다. 여기에 대한 가중치를 주어 선택할 확률이 제곱으로 낮아진다. 즉 내가 제안한 가격에서 더 괘씸하게 여긴다고 괘씸도를 측정한다면 0.72일때 50퍼센트의 확률보다 높아지므로 36만원을 지급 하고 64만원을 받는다로 정리할 수도 있겠다.
12/30 Daily Report
Project1
Top5, Top3, Accuracy가 줄어드는 걸로봐서 학습은 되고 있는 것으로 보인다. 다만, 300 이후로는 성능이 크게 변하지 않고, 어느정도 모델이 데이터에 대해서 수렴한 상태라고 봐야할 것으로 보인다.
내일은 데이터 class 분포를 확인해보고, 전처리 과정에서 생각해둔 아이디어를 적용해야 겠다.
Keras - Deep Learning Weight Saving each N epoch
문제 상황
최근 딥러닝 모델로 예측하고 싶은 문제에 에폭 마다 성능이 어떻게 변하는지에 대해서 알아보기 위해서, 특정 에폭마다 weight를 저장해서 성능을 비교해볼 필요가 있었다.
(어느시점 부터 오버피팅 되는가가 알고 싶기도 했다.)
해결 방법
가장 핵심은 fit 함수의 콜백을 이용하는 방법이다. 내 생각이 맞다면 매 에폭마다 콜백이 호출될 것이고, if문을 통해서 실행까지는 안되는 것으로 보인다. (체감상 학습 시간이 차이가 안났으므로)
아래의 코드로 구현하였다.
weight_file_name = "cnn_ep{}_RMSprop_ts{}.h5".format('{epoch:03d}', test_size) mc = keras.callbacks.ModelCheckpoint(weight_file_name, save_weights_only=True, period=100)
history = model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(x_test, y_test), callbacks=[mc])
간략하게 코드를 설명하자면, 나는 매 에폭마다 다르게 저장을 이름을 다르게 저장해야 했으므로, 위의 코드를 수행하였다.
{epoch:03d}부분이 알아서 해당 epoch의 index값으로 들어가게 된다.
따라서 100, 200, 300, 400, 500의 형태로 weight들이 저장되게 된다. 차근차근
References
https://keras.io/callbacks/#modelcheckpoint
12/29 Daily Report
Project 1
Keywords: Deep Learning, Korean Natural Language Processing, Multiclass Classification,
Goal
TOP 1 Accuracy > 0.7
Final Performance
Epoch 800 (TOP 5, TOP 3, TOP 1)
0.8132688320663441 / 0.7659986178299931 / 0.5955770559778852
Epoch 100 (TOP 5, TOP 3, TOP 1)
0.42418797512093986 / 0.3845196959225985 / 0.25749827228749134
Modified
Pre-processing Module Text Tokenizer Text to Vector Converter Module
New Top N Accuracy Calculator
서평 - STICK!
미뤄왔던 서평을 드디어 씁니다.
사실 쓰고 싶었던건 꽤 많은데... 시간이 없었다고 핑계를 한번 대어볼게요.
스틱은 어떻게 사람들에게 착 달라붙는(스티커같은) 메세지를 만들 수 있냐는 것에 대한 책입니다. 제가 처음 이 책을 읽었을 때는, 한창 자기 계발서를 독학하던 시기였던거 같아요. 아마 군대 전역하고 얼마 지나지 않았을 무렵? 열심히 무엇인가를 갈구하던 시기였던 거 같아요.
전공도 좋지만 전공만하면 머리가 빡빡해서 책을 쉬엄쉬엄 많이 읽었던 시기였던 거 같아요. 저는 말을 잘 못하는 편이라, 어떻게 해야 사람들에게 내 이야기를 잘 전달할 수 있을지에 대해서 항상 고민을 했던 시기였기에 이 책의 서론에 끌려서 책을 읽었습니다.
간단하게 요약하면 단순, 의외, 구체, 신뢰, 감성, 스토리를 넣으라는 내용입니다. 메세지를 전달할 때 위의 내용을 모두 함량하면 굉장히 끈적끈적한 메세지가 된다고 하는 게 저자의 주장이었어요. 이게 이렇게 적어놓으면, 누가 몰라 저걸이라고 생각하실 수 있으십니다. 맞아요. 틀린 의견은 아니네요. 다만 이 책에는 조금 더 구체적인 사례 위주의 이야기를 해주고 있다는 점이 차이를 만들고 있어요. 그리고 읽은 내용을 토대로, 대통령 연설문, 취임사 같은 것들을 분석해보면 전부 함량되어 있는 경우는 없지만, 적당히 함량되어 있는 것은 확인할 수 있었습니다. 그래서 재미있게 읽었던 거 같아요.
물론 이 책을 읽고 본인의 회사에서, 메일을 작성할 때 적용을 하실 수 있으면 가장 좋겠지요. 어렵습니다. 어려워요. 일단 저자는 이쪽 분야에 대해서 연구를 하고, 다양한 메세지를 분석해본 사람이고 우리는 그 저자의 경험을 책으로 스윽, 읽는 사람들이니까요. 다만 저자를 따라해보고 싶어서 메세지를 분석하고 만들어 봤던 경험은 있네요.
뭔가 정말 신중의 신중을 기해서 메세지를 작성해야하는 경우에 이 책을 참고하여 작성하시면 좋을 것으로 보입니다. 한번 스윽 읽기에는 꽤 나쁘지 않은 책이에요. 저는 자소서를 쓸때 이 책을 읽으면서 많은 도움을 받았던거 같아요.
제가 나름 필독 도서라고 생각하는 삼스(3S)중의 첫번째 책입니다.
STICK, SNOOP, SPRING 시간이 되시면 모두 읽어보셔요
Node.js - 배취고사
1. 개요
전 회사에서는 Node.js로 프로그래밍을 했어야 했기 때문에, 아마존 AWS와 DB의 락문제 등등 전반적인 웹프로그래밍 기술에 대해서 많이 공부할 수 있었다. 이번 회사에서는 Python을 이용한 전반적인 프로그래밍을 하고 있기 때문에.. 뭔가 까먹기 아까워서 토이 프로젝트를 진행해보았다.
오랜만에 해서 뭔가 기억이 가물가물 했지만 다행스럽게도 더듬 더듬 EC2, RDS부터 Node.js Express Module 연동까지 해낼 수 있었다.
2. 도전 해본 새로운 기술
구글 애드 센스 - 190818: 콘텐츠 없음 사이트가 미완성 된 상태로 구글 애드센스를 시도한 것이 가장 큰 문제라고 생각하였고, 컨텐츠를 추가 보충 하였다. 근데 웹앱 형태의 디자인이라.. 사실 커다란 컨텐츠가 있는지는 의문이긴 한데.. 만약 안된다면, 추후에 연동하는 방향으로 시도해보아야 할 것으로 보인다.
Node.js Express View Engine (pug) 적용
Node.js Sequelize CLI를 이용한 모델 생성 및 마이그레이션
3. 까먹지 않기 위해 복습한 기술
카카오 링크 API 사용
4. 결과
http://baechigosa.xyz/
References
카카오 링크 https://developers.kakao.com/docs/js/kakaotalklink
Competition - 창원시 빅데이터 공모전 (정리중)
1. 개요
창원시 빅데이터 공모전에 참가했다. 내용 및 입상 유무 등 작성
2. 논문화 작업
3. Multi Label Classification
공모전에서 제안한 문제를 다중 라벨 분류 문제로 가정했다. Deep Neural Network 구조를 적용하여 문제를 해결 해보고자 도전 중이다.
이 부분은 적용해본 결과, 성능이 좋지 못하였다. 먼저 최종 레이블의 개수가 750여개이며, 주어진 데이터에 비해서 너무 많은 레이블이 존재했다. 따라서 모델이 모든 것을 0으로 처리했을때나, 중간중간 1을 넣었을 때나 큰 오류가 없다고 판단하였기 때문에 성능이 좋지 못하였다.
4. 1D CNN Classification
따라서, 위의 모델을 포기하고 1D CNN을 통하여 모델을 새롭게 구축하였으며, 학습이 어느 정도되어 단어에 대해서 모델이 이해를 하는 것을 확인하였다. 단어와 단어 사이의 연관성을 학습하는 것을 호 ㅏㄱ인하
(모델 사진 첨부)
자세한 것은 Feature Map을 통하여, 확인을 해볼 예정이다.
실험
데이터의 레이블이 심하게 불균형(imbalanced label) 한 경우에 batch_size를 작게 학습하는 것이 의미가 있는가? 예상: ba
References
Multi-label Image classification softmax를 사용할 수 없다. 따라서 마지막 단의 Layer가 Dense로 이루어진다. 다만 특이하게도 sigmoid를 사용하고 있는데.. 이것에 대해서 추가로 공부할 필요가 있다. https://medium.com/@vijayabhaskar96/multi-label-image-classification-tutorial-with-keras-imagedatagenerator-cd541f8eaf24
Competition - Kaggle (진행중)
1. 개요
연구용 컴퓨터를 구매하여, 나태함을 방지하고자 꾸준히 케글에 도전하고자 한다. 첫 번째 케글에서는 시도 대비 좋은 성적을 얻을 수 없었으나, 앞으로는 전략을 minimize(SpentTime) maximize(Score)를 해볼 수 있도록 해야겠다.
저번 케글에서 가장 큰 문제는 지식의 량이 한정되어있어, 확장할 수 없었다는 것이었으니 이번에는 고이지 않고, 최대한 많은 지식을 활용하여 빠르게 성적을 낼 수 있도록 해야겠다.
2. 계획
100% 지켜지지는 않겠지만 계획을 세워본다.
최대한 지켜지도록 노력해보겠습니다.
평일: 퇴근 후 30분 ~ 1시간 코드 리뷰 결과 확인
주말: 카페 및 집에서 작업
3. 할 것
데이터 분석 및 전처리
모델 수립 (머신러닝, 딥러닝 이외의 다양한 모델)
4. 한 것
5. 결과 분석
References