개발자로 후회없는 삶 살기
[22.09.02]BOAZ PART.adv 5~8주차(스터디 진행상황) 본문
서론
여러 가지 난항들을 적어보자 이를 통해 프로젝트 시작 전 프레임을 잡는 것의 중요성을 알 수 있습니다.
본론
5주차
이 날은 팀 빌딩 이후에 처음으로 팀끼리 만나는 날로 간단하게 앞으로 진행할 방식과 회의 규칙을 정하는 날이었습니다. 그리고 4주차에서 나눈 엘라스틱 서치(ES)와 구글 API 팀 결과를 보았습니다.
- 진행 방식
1. 노션 순서대로 논문리뷰
2. ES와 구글 API 둘 다 어려움을 느껴서 구글 API에 몰두
3. 지라로 형상관리 등등
- IGAN 리뷰
GAN과 추천 시스템을 모두 다 준비해 오기로 했습니다. 그 첫 시간이 IGAN이었습니다.
-> IGAN 특징
밑그림이 필요합니다. 밑그림을 입력으로 넣어 약간의 수정으로 실시간을 변하는 결과물을 출력하는 개념이었습니다. > 그럼 "우리가 하려는 목표는 밑그림이 있어도 되나?"를 생각해봐야 합니다.
- 느낀 점
1. 이때부터 목표를 통일화하지 않았습니다.(어떠한 형식의 추천을 할지 생각이 달랐습니다.)
2. 논문을 읽을 때 우리의 시스템 구조를 확실하게 정하지 않았습니다.(어떤 결과물을 생성해야 하나 확실히 되지 않았습니다.)
-> 그렇게 느낀 이유
1. 팀원이 말하기를 추천 결과가 실제 쇼핑몰 이미지가 나와야 한다고 하는 얘기를 내가 이해하지 못했습니다. 내가 이해하기를 이미지가 출력될 부분은 DB에서 꺼내오는 것 말고는 없었습니다. 하지만 우리가 구축한 DB에서 꺼내면 실제 쇼핑몰 이미지인가?, 우리 DB는 쓰지 않을 것이기 때문에 구글 서버의 DB의 이미지가 나오면 그게 실제 쇼핑몰 이미지인가? 실제로 쇼핑몰에서 팔고 있다는 입증이 되어야 쇼핑몰 이미지라고 할 수 있다. 그 점을 확실히 할 필요가 있었습니다. 이것은 엄청 큰 miss였습니다.
2. GAN의 입력으로 들어가는 것이 무엇이어야 하는지 명확히 하기 힘들었습니다. 하지만 이 점은 논문을 읽기 전에도 하기 힘든 부분입니다. 논문을 읽어가며 구체화해야 하는 부분일 수 도 있습니다.
-> 이제 알게 된 스케치 GAN이 어려운 이유 :
1) 수많은 유사 논문들은 스케치가 잘 그려진 그림입니다.(디자이너 급으로 잘 그려진 그림으로 모델이 이해하기 쉽습니다.) 하지만 일반 고객이 입력으로 넣을 이미지는 형편없는 수준이 대부분일 것입니다. -> 따라서 "이미지를 다듬어주는 프로그램을 중간에 넣을까"하는 생각도 했습니다.
2) 우리가 하려는 게 정말 새로운 생성인가? 채색인가? 결정해야 합니다. -> 채색은 약간의 변화이고 생성은 애니메이션처럼 완전한 변화입니다. 이때 채색 같은 약간의 변화는 pix2pix 모델로 가능합니다. 하지만 결과가 만족스럽지 않아 추천의 결과가 기대 이하일 수 있습니다. 생성의 애니메이션은 입력이미지가 애니메이션 이미지라서 모델이 알아볼 포인트가 확실했습니다. 따라서 모델이 구분하기 쉽습니다.
-> 하지만 스케치는 사람 실력에 따라 드레스가 셔츠처럼 보일 것이고 주머니를 알아보기도 어려울 것입니다.
3) 스케치가 모델이 구분할 수 있는 형태여야 합니다. face gan은 스케치인데 얼굴을 모델이 구분하기 어려울까 봐 얼굴 특징(attribute)를 일일이 넣어줬습니다. 따라서 논문 모델을 이용하는 것을 할 수 있겠지만 의류로 학습시키는 것이 어려울 것입니다.
- 위를 타당성 분석과 연결시키면
8주차까지는 아직 타당성 분석의 과정입니다. 논문을 읽을 때 명확한 결과와 입력을 정하고 읽기는 쉽지 않았지만 어쨌든 논문을 읽기는 읽어야 했습니다.
어떤 프젝이든 완벽히 내가 하고자 하는 것과 일치하는 논문이 없을 가능성이 큽니다. 그러면 이미 앞에 나와있는 논문을 읽고 내 목표가 타당한지 분석을 해야 할 것입니다. 그러한 과정에서 우리가 채색인가? 논문은 최적의 환경에서 학습한 것일 텐데, 데이터는 충분한가?? 등등을 생각해야 합니다.
내가 이러한 것을 기록하는 이유은 나중에 프로젝트를 할 때 그때도 타당성 분석을 할 텐데 그때 어떤 점에 포인트를 두고 주의를 할지 대비하기 위함입니다.
6주차
이 날 API도 잘 안 되고 논문도 실천하기 어려워서 많은 얘기를 했습니다. 드디어 목표를 통일하고 모델의 구조(입력)도 확실히 하기 시작한 것입니다.
- 목표 : 실제 쇼핑몰 이미지를 우리의 DB 없이 출력하자
우리의 목표는 실제로 우리가 검색 엔진에서 검색했을 때 나올 우리가 사고 싶은 이미지를 찾는 것입니다, 그러니 구글이나 네이버 쇼핑 검색 시에 나오는 결과 이미지를 크롤링하여 학습 데이터 셋으로 쓰거나 혹은 출력 결과로 네이버 쇼핑 검색 시에 나오는 결과를 내야 하는 것입니다.
-> 팀원 생각 : 구글 비전 API가 구글 이미지 서버의 이미지를 쓰는 것이라면 그 이미지의 링크 정도는 나오지 않을까? 그러니 그 링크가 나오면 쇼핑몰 검색이라고 볼 수 있습니다.
- 또 여기서 느낀 문제점 :
우리가 이날 API를 사용하기 위해 블로그를 하나 봤는데 구글 비전 API를 활용한 유사 안경 이미지 검색
이게 실현 가능한지 보기 위해 API 키 설정이 된 사람이 나뿐이라서 내가 바로 실행해 보고자 했습니다. 근데 모두(나를 포함한 모두)가 구글 비전 API에 대해 제대로 조사한 사람이 없고 "그렇지 않을까??"라고 추측만 하는 것이었습니다. 따라서 이 블로그를 제대로 이해할 수 없었고 시간만 흘러갔습니다. 그래서 다음 주까지 이 블로그 말고 구글 비전 API에 대해 다시 제대로 조사하는 시간을 가지기로 했습니다.
- 느낀 점 :
참 순서가 중요한 것 같습니다. 순서 1. 완벽히 조사 > 예제 참조/ 2. 예제 참조로 실현 가능성 확인 > 완벽히 공부/ 둘 중에 뭐가 맞을까요?? 상황에 따라 다른 것 같습니다. 김인철 교수님께서는 실행 먼저 해 보라고 하셨습니다. 따라서 여기서도 실행 먼저 해보자고 한 것입니다. 하지만 생각을 잘 못 했습니다. 우리 프로젝트처럼 어려운 문제에서는 조사 또한 실행 먼저 하는 것 같습니다. 실행이 쉬운 문제에서는 2번처럼 하고 어려운 문제는 1번처럼 하는 것이 올바른 타당성 분석 방법인 것 같습니다.
- 논문 논의
이때까지 되는 게 없어서 논문도 2개씩 읽어오기로 했습니다. 왜냐하면 아직 DB가 필요한지 학습이 필요한지도 모르니 빨리 데이터를 구해야 할 수 도 있다고 판단되었기 때문입니다.
-> 대학원생 동아리원 : 원하는 주제의 논문을 왕창 읽어봐라. 그리고 찾으면 코드를 돌려서 얼마나 걸리나 봐라 엄청 오래 걸릴 거다. 그러면 모델 크기를 줄이거나 시간을 줄일 방법을 생각해야 한다.
7주차
- API
다행히 MS API가 잘 동작했다 (휴...) 하지만 또 생각할 것이 있습니다.
1. 여러 가지 url 중에서 어떤 url을 채택할 건가
2. 유사도 순위를 구할 순 없나.
3. 검색 범위를 한국으로만 할 수 없나. 등등입니다.
- 논문 : 논문을 여러 개 읽다 보니 계속 점점 더 우리 프로젝트에 가까운 논문을 찾게 된다!!
-> 7주차는 애니메이션 gan과 face gan을 읽고 왔습니다.
1) IGAN이 밑그림이 존재한다면 밑그림을 수정하는 방향도 고려해 보자
2) 우리가 하려는 게 스케치를 아예 다른 실제 그림으로 바꾸는 것인가? 아니면 스케치에 채색을 해주는 것인가, 수정을 해주는 GAN도 있습니다. 밑그림이 있다면 수정도 되지 않을까? 등을 고려하기 시작했습니다.
3) 애니메이션 GAN은 입력이 개성이 있어서(모델이 이해하고 학습하기 쉬운 개성) 실제 의류 모델 생성 결과가 잘 나오는데 스케치는 단색에(거의 회색) 비슷비슷한 모양새여서 원하는 출력이 나오지 않을 것 같습니다. 그런 점에서 attribute를 쓰는 face gan이 더 맞는 것 같습니다. (이런게 논문을 여러 개 읽다 보니 점점 가까워지는 부분입니다.)
4) 스케치는 논문을 봐도 스캐치 수준이 엄청 자세해야 합니다. 일반 고객은 잘 그릴 수 없습니다 -> 스케치를 다듬어 주는 프로그램 찾아보는 것도 생각해야 합니다.
> ★주차가 진행될수록 점점 처음에 간과했던 1. 목표, 2. 난이도, 3. 모델 프로세스를 찾아가는 것 같습니다.★
- 결과물
찾은 논문 : 1. pix2pix/ 2. sketch2fashion
결론 : 8월까지 이미지 변화 논문을 보고 9월부터 GAN 스터디 (8월까지 타당성 분석 완료를 목표로 합니다.)
8주차
- 추가로 생각한 기능
1. 지역을 노원구로 한정 지어서 뽑을 수 있나
2. 지역을 한국으로 한정 지을 수 있나
3. 소비자는 하나의 옷만 추천받고자 하지 않습니다. 여러 개를 보여줘야 합니다.
4. 페이스북 메타의 sketch+text > image 기사 찾아보기 -> 이게 된다면 색연필은 필요 없을 수 도 있습니다.
- 모델 프로세스 궁금증 총정리
1. igan이 밑그림이 있다면 밑그림을 수정하는 건 어때(sketch2fashion은 입력이 실제의 edge인가?? 그렇다면 sketch2fashion도 밑그림이 있고 그 밑그림의 edge를 찾아야 할 것 같은데..)
2. 밑그림에 채석을 해주는 거냐 아니면 정말 새로운 생성이냐
3. 스케치(연필) > 일러스트 > 실사? or 스케치(다색) > 일러스트 > 실사? -> ★ 밑그림이든 일러스트든 아예 완전 스케치에서 실사 이미지를 생성하는 것보다는 중간 단계를 거치는 게 좋다 > 하지만 스케치 > 일러스트든 스케치 > 실사든 스케치에서 디렉트로 이미지를 생성하는 것은 다 어려울 것입니다. 그러니 밑그림 실사를 목표로 잡자!!!
4. 사람들이 그림을 잘 못 그리면 어떡할 거야? -> 다듬어 주는 프로그램이 필요한가?
5. 다듬으면 일러스트야? 아니면 다듬은 게 그냥 잘 그린 그림이야? = GAN에 들어가는 게 다듬어진 스케치가 들어가는 건지 일러스트가 들어가는 건지 정해야 합니다.
-> 위 궁금증이 모델 프로세스 정립에 필요한 궁금증입니다.
-> 결론 : 일단 스케치 원본 > 실제 이미지 디렉트를 목표
※ GAN 학습 책 선택 : 난 그냥 쉬운 거 하자고 했는데 우리가 직접 다루고 모델 구현도 하고 학습도 시켜야 하니 깊게 파고드는 게 났다고 팀원이 말합니다. 와,,, 내 생각이 짧았습니다. 이게 맞다!! 지금까지 쉬운 책으로만 접하니 발전이 더뎠습니다. 어려운 책으로 도전하고 성장하겠습니다.
- 9월 되기 전 간과한 사실과 타당성 분석 및 팀플에서 중요한 점 정리
1. 목표를 확실히 해야 합니다. : 실제 쇼핑몰은 적어도 유사 이미지의 링크는 가져와야 한다고 생각했습니다. 유사 이미지를 추출하는 것은 쉽게 할 수 있습니다. 유사 이미지의 쇼핑몰 링크 정도는 가져와야 프로젝트할 의미가 있습니다.
2. 난이도를 몰랐습니다 : 지금 데이터도 안 정했습니다 -> 타당성 분석을 해서 빨리 데이터를 정해야 합니다.
3. 모델 프로세스도 몰랐습니다 : 우린 생성이냐 채색이냐 등 입력으로 들어가야 하는 것을 차차 생각해 보아야 합니다.
4. 팀플에서 중요한 점 : 그래서 우리가 뭘 하려고 한 거지? 이것저것 많이 엄청 잘했는데 뭐 하려고 한 거야?라고 하는 질문을 요 근래 팀플 두 개에서 모두 들었습니다. 이래서 스크럼 방식(daily meeting)으로 하는 것임을 깨달았고 매 회의마다 우리가 뭘 하는 것인지 정리를 하는 것이 좋을 것 같습니다.
5. 프로젝트에서 주변인이 알려준 사실 : 프로그램 짤 때 업무 정의가 50프로가 넘습니다. 내가 지금 추천시스템이랑, 스케치 정의 하는 게 업무 정의입니다. 이게 잘 안되면 프로젝트 중간에 모든 걸 다 새롭게 해야 할 수 도 있습니다. 타당성 분석 > 업무 정의입니다. (mvp는 조금 다른 것으로 실제 사용자에게 검사 맡는 것입니다.)
'[대외활동] > [BOAZ]' 카테고리의 다른 글
BOAZ part.adv 회의 22~25(Edge Detection, 타임라인 수정) (0) | 2022.12.31 |
---|---|
BOAZ PART.adv 17~20주차(채색 모델) (0) | 2022.12.18 |
[22.11.18] BOAZ PART.adv 14~16주차(주제 이슈) (0) | 2022.12.15 |
[22.09.16] BOAZ PART.adv 9~12주차(중간 점검) (0) | 2022.12.15 |
[22.09.01]BOAZ PART.adv 1~4주차(팀 빌딩) (0) | 2022.12.15 |