티스토리 뷰

728x90
SMALL

오늘은 아침에 체했는지 상태가 너무 안 좋았다. 그래도 오후가 된 지금은 상태가 훨씬 좋아졌다.

출근길에 OKKY글을 조금 읽고 아이티 커뮤니티 분들과 이후 채팅하다가 쓰러져서 왔다. 

조금 더 건강관리에 신경써야 할 거 같다.

 

오늘은 주간회의가 있는 날이어서 지난 주 동안 한 일들을 정리했다.

이후 회의에서 책임님. 이제는 팀장님이 업무 보고를 내가 하는 파트까지 해주셔서 패스하고 stt 앱이 오늘 성공해서 입사한지 7일만에 성과가 나왔다고 박수 받았다. 사수님이 거의 다 하신 거 같아서...(안드로이드를 너무 못하는 거 같다.) 그래서 급 부담스러웠지만 그래도 결과가 나와서 너무 신났고 안드로이드 공부를 더 해야할 거 같다.

 

지난 주 금요일에 기껏 구현해둔게 vm 상에서 돌아가지 않아서 실망했다가 테스팅 폰에서 돌아가서 신났다.

음성 인식 어플이라서 됐을 때의 기쁨을 텍스트화할 수 있다 신난다.

 

 

https://berkbach.com/creating-an-android-google-stt-application-4cea24ee97af

 

Creating an Android Google STT application

STT(Speech to Text)로 음성인식 어플을 만들기

berkbach.com

맨 처음 찾은 위의 링크로 구현했다.

안드로이드 구조는 대략적으로 알아냈지만 아직 딥하게 이해는 어려워서 앞으로 약 3주간 audio 녹음과 STT를 안드로이드에서 구현하고 코드를 정확히 이해하는 작업을 하려고 한다. 뭐를 해야할지 손에 잡혀서 그래도 다행이다. 

 

코드를 이해한다 함은

1. 코드가 back단에서 돌아가는 원리와 메모리 구조 체킹

2. 코드의 flow 이해 > 이 코드가 왜 여기서 나왔지?

인데 뭐 궁극적으로는 이거지만 일단 단기 목표는 수정할 수 있는 정도로 구현이 되면 좋겠다. 

 

그리고 오늘부터 연구노트 작성에 들어가야 하는데 2일에 한번이면 일주일에 약 2번이다.

왜 이 연구를 했는지 이 연구의 기대효과는 무엇인지 위주로 작성할 예정이고 레퍼런스를 찾아봐야겠다.

연구가 연구로만 남지 않도록 실용화를 위해서 노력하는 것이 중요할 거 같다.

 

현재 이 자료를 읽고 있는데 재미있다.

https://m.blog.naver.com/euleekwon/221557899873

 

[GAN] 이제 제발 이해하자 GAN - 0장 (개념)

Youtube로 GAN에 대한 설명을 들으면서, 정말 기본 개념도 없이 GAN을 공부하고 있었다는 것을 정말...

blog.naver.com

자료에서 나온 에폭은

https://jonhyuk0922.tistory.com/129

 

[딥러닝] 에폭(epoch) & 배치 사이즈(batch size) & 반복(iteration) 개념 정리

 경사하강법(gradient descent)을 통해 결과를 내기 위해서 여러번의 최적화 과정을 거쳐야 하는 알고리즘을 iterative 하다고 한다. 아래 그림과 같이 반복해서 많은 양의 데이터 학습을 진행할 때, 보

jonhyuk0922.tistory.com

여기서 설명이 잘 되어 있는데

1. 에폭(epoch)

: One Epoch is when an ENTIRE dataset is passed forward and backward through the neural network only ONCE

 

(한 번의 epoch는 인공 신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말함. 즉, 전체 데이터 셋에 대해 한 번 학습을 완료한 상태)

 

역전파 알고리즘(backpropagation algorithm)은 입력부터 출력까지의 각 계층 weight 계산을 해주는 순방향 패스와, 거슬러 올라가며 다시 한번 계산하여 기존 weight를 수정하는 역방향 패스로 나뉩니다. 이 때 1 epoch은 순방향 + 역방향 한번을 포함한 의미입니다.

 

+ 적절한 epoch을 설정해야 underfitting 과 overfitting을 방지할 수 있습니다. epoch이 너무 크다면 overfitting 이, 너무 작다면 underfitting이 발생할 수 있습니다.

 

지속적으로 찾게 되는 용어 중 하나가 배치이다. 일괄 처리인데 외워야겠다. 암튼 대충 순차적으로 처리하겠다는 거다.

 

공식 문서를 읽어봐야할 거 같다.

 

https://cloud.google.com/speech-to-text/docs/basics?hl=ko 

 

Speech-to-Text 기본사항  |  Cloud Speech-to-Text 문서  |  Google Cloud

의견 보내기 Speech-to-Text 기본사항 개요 이 문서는 Speech-to-Text 사용에 대한 기본사항을 설명하는 가이드입니다. 이 개념 가이드는 Speech-to-Text에 보낼 수 있는 요청 유형, 해당 요청 작성 방법, 응

cloud.google.com


사수님과의 회의에서 나온 주이슈는

1. 중간에 구글에 오디오 데이터 전송시에 퍼미션이 넘어간다. > 퍼미션 충돌 해결

2. 보안이슈 - 고객사 클레임 구글 쪽에 회의 내용이 넘어갈 수 있다. > 직접 딥러닝으로 솔루션 개발

 

현재 당장 해결할 문제는 다음 주까지 녹음 기능 구현으로 아래의 내용을 참고해서 학습예정

 

Do it! 안드로이드 앱 프로그래밍에서

둘째 마당 | 안드로이드 완벽 가이드 

13 멀티미디어 다루기

오디오 녹음하여 저장하기

를 보면서 오디오 녹음부분부터 구현해봐야겠다.


오늘 주간회의와 업무 보고를 하다가 느낀 건데 확실히 아는 용어가 많으면 친숙하게 느껴지고 '한번 해볼 수 있을 거 같은데'라는 생각이 쉽게 든다. 그런데 개발에서는 상당히 한번 해볼 수 있을 거 같은데. 라는 느낌이 중요한 거 같다.

 

특히 다른 쪽은 모르겠지만 나는 수학교육학과를 지망할 만큼 수학을 좋아했었고 이후 컴퓨터공학과를 다니다 보안을 공부한 케이스인데 보안을 공부하면서도 구글에서 gcp교육을 받으면서 머신러닝(텐서) 클라우드(쿠버네티스)를 공부했다. 또한 신기술에 워낙 관심이 많아서 인공지능 미니랩, 세미나, 해커톤을 많이 다녔다. 이후 졸업하고 포스코에서 포스텍 교수님들과 함께 인공지능, 빅데이터를 공부해서. 수학, 컴공, 보안, 인공지능, 클라우드, 빅데이터를 모두 건들여 본 말 그대로 좋게 말하면 만능, 나쁘게 말하면 잡탕밥이 되었다. 이건 진짜 내가 어떻게 쓰냐에 따라 장단점이 될 거 같은데 내가 생각하기로는 나에겐 극명한 장점으로 작용할 거 같다.

 

1. 일단 용어에 노출 되어 있어서 그래도 아는 놈이니 덜 쫄고 들어갈 수 있음.

2. 다른 pre 경력자들과 일할 때 알아 들을 수 있음. > 프로젝트 이해도 증가

> 적어도 프로젝트 요구사항에 대해서 처음 들어도 질문 던지고 확인시 맞는 케이스 98프로, 그리고 질문을 던질 수 있다는 건 대략적으로 이해했다는 거다. 또한 프로젝트에 대해서 대충 플로우를 그릴 수 있는 점도 좋은 거 같다.

3. 이전 프로젝트에서 쓰던 자료나 코드를 가져올 수 있음.

 

등등의 장점이 있다.

 

면접 때도 그래서 인지 별별 기업들에서 다 오퍼가 들어왔다.

보안, 클라우드, 품질보증, 인공지능, 앱개발, 챗봇 개발, 자연어 처리..... 아무튼 진짜 골라먹는 재미가 있다.

베스킨라빈스 같은 개발자다.

 

https://okky.kr/article/1136354

 

OKKY | [잡담] 개발이 어려운 이유

개발이 왜 어려울까요? 그리고 경력들은 왜 꾸역꾸역 일하면서 먹고 살 수 있을까요? 개발이 어려운 이유는 일단 눈에 보이지 않는 다는 겁니다. 개발자가 경험하지 못한 것을 개발하게 될 때,

okky.kr

출근 길에 읽은 이 아티클에서 가져와보자면

 

개발이 왜 어려울까요?

그리고 경력들은 왜 꾸역꾸역 일하면서 먹고 살 수 있을까요?

 

개발이 어려운 이유는 일단 눈에 보이지 않는 다는 겁니다.

개발자가 경험하지 못한 것을 개발하게 될 때, 일단 뇌에 부하가 상당히 많이 걸리게 되죠.

이렇게 뇌에 부하가 많이 걸린 상태에서 멍하니 모니터만 보다가 시간을 시간대로 품질은 품질대로 망가지는 경우가 많습니다.

 

고참들은 예전에 어찌 되었건, 프로젝트가 망했든 성공했든 경험으로 인해서 다음 비슷한 프로젝트에서 학습 커브가 급격하게 올라가게 됩니다.

 

경험이 없는 초급자나 새로운 프로젝트를 접하는 기술 없는 중,고급 개발자들도 이 때 많이 힘들어 하죠.

일단 개발을 잘 하려면 머리 즉 뇌에 부담을 최소화 시켜줘야 합니다.

보이지 않는 상상 속의 저 너머를 계속 뇌가 연산을 하다 보면 막상 코드는 진도가 나가질 않아요.

 

이걸 해결하기 위해서 즉 뇌에 쉬는 시간을 주고 뭔가 상상이 아닌 실체를 보면서 쉽게 연산 시키려면 노트로 습작을 해야 합니다.

 

즉, 뇌가 상상해서 연산해야 할 부분을 노트를 보고 즉시 개념과 실체에 즉시 접근해서 뇌의 연산 부담을 줄이고 뇌가 코드를 생산하는데 집중할 수 있도록 해야 합니다.

 

노트 필기는 즉시 적인 뇌의 연산을 줄이는 역할도 있지만 어제 또는 일주일 전에 개념을 정립하거나 설계 했던 부분을 노트를 보고 마치 C에서 메모리를 보고 데이터에 즉시 접근하듯 우리 머리 속의 기억에 바로 접근이 가능 합니다.

 

한 달 혹은 두 달 정도 되는 프로젝트는 별 도움이 안 될수 도 있지만 4개월만 넘어가도 슬슬 뇌가 포화 상태가 되어서 한 달 전, 일주일 전 기억이 잘 생각이 안 되고 이걸 계속 뇌에서 생각을 하면서 개발을 하게 된다면 뇌는 코드 생산보다 기억 유추 및 개발의 실체화  쪽에 연산 프로세스가 집중되게 됩니다.

 

간단한 개념 --> 개념의 설계 --> 설계를 기반한 UI 및 DB 드래프트 설계 --> 다시 요구사항 분석 --> UI 반영 --> 설계 확장 및 수정 --> DB 설계 확장 및 수정 --> DB 정규화 및 역정규화 과정을 계속해서 반복하는 것이 개발인데 이걸 머리 속에 모아두고 있다면 개발이 아니라 대학교 학과 과제라고 봅니다.

 

머리를 비우고 설계를 할 때 설계에 집중할 수 있도록 노트하고 그 노트를 기반으로 UI 및 DB설계를 먼저 노트하세요.

 

코드 및 DB를 구성하는 것은 노트를 보면서 타이핑 할 수 있도록 노트를 할 수 있다면 개발자의 수준이 중급은 된다는 겁니다.

 

프로젝트 하나 끝날 때 마다 노트 2~3권 정도를 생산 할 수 있다면 금방 초급, 중급 떼고 고급으로 갈 수 있다고 봅니다.

 

아무튼 꽤나 유용한 글이다. 공감간다.

그러니까 어렵다면 서서히 젖어들게 만들어야한다. 뇌에서는 익숙하지 않을 걸 특히 나이가 들수록 튕겨내려고 노력할테니까. 어렵더라도 계속 새로운 걸 시도해야한다. 나는 내가 그랬으면 좋겠다.

 


오늘의 흥미로운 글

 

https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn=GTB2018003701&dbt=AGT 

 

뇌 역공학을 통한 인공지능 발전

약 1.36 kg의 뇌는 희미한 전구를 켜는데 불과한 20 와트의 전력으로 동작한다. 하지만 눈 뒤쪽에 위치한 이 기계는 아무것도 없던 상태에서 문명을 구축하고 별을 탐사하고 존재의 의미를 찾도록

scienceon.kisti.re.kr

 

728x90
LIST

'신입일기(웹툰예정)' 카테고리의 다른 글

1/12 업무일지 + TIL  (0) 2022.01.12
1/11 TIL  (0) 2022.01.11
1/7 업무 일지  (0) 2022.01.07
1/6 업무일지  (0) 2022.01.06
1/5 업무일지 TIL  (0) 2022.01.05