2021. 09. 14 화요일 9일차

 

2-1-1 Derivatives and Gradients

드디어 수학이 나왔다.

오늘의 강의는 미분과 gradients 였다. 이 강의는 수학에 대해 아무것도 모르는 사람이 아니라, 미적분 정도는 아는 사람이 들어야할 것 같다. 나도 미적분을 배운지 너무 오래돼서 (하.. 내 나이 체감) 좀 가물가물하긴 하지만.. 일단 들어보았다.

 

미분에 대해 아예 모른다면 이해가 조금 어려웠겠지만, 그냥 정의만 아는 정도라면 괜찮을 정도였다.

미분이 접선의 기울기라는걸 알면 되는 정도..?

그리고 공대가 항상 그렇듯이 A를 알면 이제 Z를 배울 차례다. ㅎㅎ

그래도 굉장히 쉽게 설명해주신다!

설명하시는 내용이 뭔지 정확하게 이해가 간다거나, 한 번 듣고 내가 남에게 설명할 수 있을 정도가 되지는 않지만, 요점은 이해가 되는 정도였다.

이번 강의에서는 인공지능에서 Gradient가 기본이 되는 이유를 배웠다.

진짜 이렇게까지 자세하게 알려준 강의는 처음이라 가려운 곳을 긁어준 듯한 시원함이었다. 진짜 너무 시원했다.

그 이유는! 강의에서 확인하시길 ㅎㅎ

 

2-1-2 Jacobian Matrices

어...

정말 본격적인 수학이 시작되었다.

야코비안.. 어쩌구.. 미분 어쩌구...

아까 2-1-1이 A->G였다면 이게 진짜 Z를 배우는 것 같다.

2주차 시작할 때 패기롭게 2개씩 들으려고 했는데, 1개를 3번씩 듣는게 좋을 것 같다.

이론과제도 해보려고 했는데.. 아는게 없어서 못 할 것 같다.

내일 다시 듣고 한 번 풀어봐야겠다.

(이론 과제는 예전에는 slack을 통해 질의응답을 진행했었던 것 같은데, 이제 끝난 것 같다.)

 

▼패캠 강의 리스트▼

https://bit.ly/37BpXiC

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*


#패스트캠퍼스, #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수학적으로_접근하는_딥러닝_올인원_패키지_Online #대학원생공부 #인공지능독학 #머신러닝 #딥러닝

2021. 09. 13 월요일 8일차

 

--잡담--

오늘 Chapter 1이 2개 남기도 했고, 2주차 첫 시작이기도 해서 앞으로는 강의를 2개씩 들으려고 한다!

잘 지킬 수 있을지 모르겠지만 1주차처럼 의무감을 가지고 하면 되지 않을까!!

일단 오늘도 성공했다는 사실이 뿌듯하고 스스로가 대견하다.

 

1-3 Python Tutorial: Class practice

 

Class Practice는 저번 강의 Class에 이어 직접 실습해보는 시간이었다.

저번 시간에 Class에 대한 개념과 꿀팁들을 배웠다면, 이제 Class가 실제로 어떨 때 사용되고, 어떻게 사용되고, Class 내부의 함수를 어떻게 만지작거려야하는지 설명해주셨다.

요즘 인공지능 모델을 개발하면서 Class에 대한 이해가 부족해서 너무 힘들었는데, 이렇게 설명해주시니 개념정리도 잘 되고, 응용하기도 쉬운 감이 들었다. (아직 응용을 하지는 않아서 진짜 잘 할지는 잘 모르겠다.)

 

이번 강의는 아래 강의도 마찬가지이지만, 코드를 배우며 실습하는 강의이고, 코드의 실행화면을 봐야하는 강의였기 때문에 따로 정리하기가 어려웠다. 그래서 강의 정리 노트에 강의 첫 부분의 코드만 적혀있다...하핳..

1-3 Python Tutorial: Dataset Generator

파이썬 튜토리얼의 마지막 강의는 Dataset Generator 구현이었다.

인공지능을 배우면 실습을 해봐야하기 때문에 dummy dataset을 만드는 경우도 있다.

(나는 있는 데이터셋을 가공해서 쓰는걸 많이하긴한다...)

지금까지는 dataset을 만들 때 class로 만들어서 쓴 걸 본 적이 없었는데 (물론 이렇게 만드는걸 별로 안 하니까 많이 찾아본건 아니지만) class로 만들어서 쓰면 확실히 편할 것 같았다.

어차피 여러 번 만들거 함수로 구현해놓는 느낌이랄까.

진짜 코딩에 있어 꿀팁들을 모아놓은 강의인 것 같다.

 

이렇게 Chapter 1 끝!

 

▼패캠 강의 리스트▼

https://bit.ly/37BpXiC

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*


#패스트캠퍼스, #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수학적으로_접근하는_딥러닝_올인원_패키지_Online #대학원생공부 #인공지능독학 #머신러닝 #딥러닝

 

수학적으로 접근하는 딥러닝 올인원 패키지 Online

 

이번 강의는 python class 강의였다.

JAVA를 배울 때는 JAVA는 객체지향언어이기 때문에 Class를 정말 열심히 배웠다.

Class 가 이해가 되지 않아 여러 번 여기저기 뒤져보고, 책도 찾아보고, Class를 잘 다뤄준 책을 찾아 서점이고 E-Book이고 막 찾아다녔었다. 그런데 Python에서는 class를 그렇게까지 열심히 공부하지는 않았고.. 그냥 커다란 함수처럼 생각하고 사용하고 있었다.

그래서인지 요즘 코딩에서 계속 막혔었다.

구현되어 있는 인공지능 모델을 사용할 때 class를 보면 그냥 함수처럼 생각하고 읽어나갔다. 그리고 계속막혔었다.

self는 뭔지.. 이 코드를 내가 고쳐도 되는건지.. 이 인자는 뭐지.. 하면서 그냥 읽었는데, 이 강의에서 내 모든 궁금증을 해결할 수 있었다!

Class의 상속에 대해서도 짧게 얘기해주셨고, class 내부 함수에서 함수 이름 앞에 _를 붙이면 최대한 건드리지 말라는 함수가 된다는 것도 처음 알았다. 그리고 가끔 클래스를 불러온 객체에서 어떤 것은 함수로 불러오고, 어떤 것은 값으로 불러올 수 있어서 이 차이는 어떻게 만들어지는거지? 하는 궁금증이 있었는데, 그것 또한 해결해주셨다.

클래스 내부에서 함수로 정의하고, 변수로 정의하고 하는 것을 설정해줄 수 있었다.

랩미팅이 내일이라 코드를 해석해가야하는데 코드리뷰에 진짜 큰 도움이 될 것 같다.

 

▼패캠 강의 리스트▼

https://bit.ly/37BpXiC

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*


#패스트캠퍼스, #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수학적으로_접근하는_딥러닝_올인원_패키지_Online #대학원생공부 #인공지능독학 #머신러닝 #딥러닝

1-3 python tutorial: Python Functions

수학적으로 접근하는 딥러닝 올인원 패키지 Online

오늘의 강의는 수학의 꽃이자 코딩의 꽃이라 할 수 있는 함수(function)을 배웠다.

 

오늘 강의가 사실 다른 강의보다 좀 더 짧은편이라 2개를 들으려고 했는데..

또 어쩌다보니 밤이 되어버려서 하나를 듣고 끝냈다.

(다음 강의가 강의 시간이 2배이다보니 하기 싫어진 것도 있다...ㅎ)

 

 

함수는 사용법은 정말 간단하다.

def 로 시작하고, 그 다음엔 함수의 이름을 적는다. 사용자 임의로 적으면 된다.

예시로는 더하기 함수를 구현했기 때문에 'adder'라는 이름을 사용했다.

그 다음에 괄호를 열고 파라미터를 넣어준다. 파라미터는 parameter 를 그대로 읽어준 것이고, 우리말로 풀이하자면 인자, 매개변수 정도가 될 것이다. 외부에서 받아오는 값 정도로 이해할 수 있겠다.

그 다음에는 이렇게 얻어온 매개변수로 어떤 것을 할 것인지에 대한 코드를 적는다.

예시로 구현한 코드는 adder였기 때문에 2개의 매개변수를 받아오고, 이 2개의 매개변수를 더해주었다.

입력되는 input 값이 파라미터, 즉 매개변수라면 출력되는 output값도 만들 수 있다. 이를 바로 'return' 값이라고 부른다.

예시의 더하기 함수에서는 입력된 매개변수 2개를 더한 값을 return해주었다.

 

함수를 쓰는 이유는 코드를 간편하게 만들 수 있는 이유도 있지만, 코드를 유지보수하기가 편해서이다.

만약 함수를 쓰지 않고 그냥 코드를 쭉 작성했다면, 틀린 부분에 대해서 하나하나 수정을 해줘야하지만, 함수를 사용했을 경우는 함수 안의 코드를 수정하거나 매개변수만을 수정해줌으로써 조금 더 간편하게 수정할 수 있다.

안 그래도 고치기 어려운 error.. 함수를 써서 조금이라도 편하게 수정하자!

 

▼패캠 강의 리스트▼

https://bit.ly/37BpXiC

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*


#패스트캠퍼스, #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수학적으로_접근하는_딥러닝_올인원_패키지_Online #대학원생공부 #인공지능독학 #머신러닝 #딥러닝

1-3 python tutorial: Dictionary

 

수학적으로 접근하는 딥러닝 올인원 패키지 Online

오늘도 어제에 이어 파이썬 튜토리얼을 배웠다. 

dictionary 즉, 사전형 자료형이다.

영어사전을 생각해보면, 단어가 나오고, 그에 대한 뜻이 나오듯 key가 있고, 그에 대한 value 가 있다.

파이썬의 dictionary 자료형은 어떤 자료에 대해 좀 더 명확하게 명시해야할 필요가 있을 때 사용할 수 있다.

예를 들어 어떤 시험의 A가 10명, B가 20명, F가 100명 있다면 

(['A']:10, ['B']:20, ['F']:100) 이런식으로 표현할 수 있다는 것이다.

 

dictionary에서 가장 중요한 것은 key와 value이다.

어떠한 dictionary 리스트가 있다면, 거기에서 key만 불러올 수도 있고, value만 불러올 수도 있다.

 

이번에 새로 배운 문법은 get()이라는 함수였다.

그동안 dict.keys(), dict.values() 같은 함수는 많이 이용을 했다. dict.items() 같은 함수도 많이 봐왔었다.

get()이라는 함수는 처음 보았지만, 매우 유용한 함수였다.

dictionary 자료형이 매우 긴 리스트가 되면 모든 key를 확인하기도 어렵고, 내가 찾는 key가 있는지 궁금한 경우도 있는데, 이 때 get()이라는 함수를 쓸 수 있다. 

내가 찾는 key가 있으면 그것의 value를 출력하고, 내가 찾는 key가 없으면 내가 설정해둔 값을 돌려준다.

코딩을 하다보면 유용하게 쓸 수 있을 것 같다.

 

▼패캠 강의 리스트▼

https://bit.ly/37BpXiC

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*


#패스트캠퍼스, #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수학적으로_접근하는_딥러닝_올인원_패키지_Online #대학원생공부 #인공지능독학 #머신러닝 #딥러닝

수학적으로 접근하는 딥러닝 올인원 패키지 Online

오늘은 더 많이 들어보려고 했는데 오늘도 1개의 강의를 들었다.

어제에 이어 python 기초 강의를 해주셨다.

이 강의는 python을 아는 사람이 들어야할 것 같다. 기초 문법은 알고 있는 사람이 들어야 20분 안에 이해가 가능할 것이다. 만약 나는 딥러닝을 지금 당장 해야하고, 너무너무 급하다! 그러면 python을 공부하며 병행해서 들으면 될 것 같다.

python은 독학으로 Do IT! Python을 떼고 나서는 learning by doing으로 배운 나는 for문의 장단점, if문의 특성 같은 것을 배울 수 있었다.

for문을 쓸 때는 for i in range(a,b) 이런식으로 사용해왔었는데, 이 i는 i보다는 인덱스라면 data_idx라고 표기하던가, data라고 표기하여 어떤 데이터를 반복해서 가져오는지를 명시하는 것이 좋은 코드라고 하셨다.

이 강의는 수학은 아니지만, 클린코드를 배우는 느낌이었다.

강의 이름이 올인원 패키지인데 구현을 위한 클린코드 강의를 넣어주신 것 같아서 뭔가 돈을 아낀 느낌이었다.

그리고 다음에는 클린코드 강의도 한 번 찾아 들어보면 좋을 것 같다.

 

특히 놀랐던건 if문에서 else의 사용법이다.

예를 들어 True/False에 대한 출력이 다르게 나와야한다면 나는 보통 True에 대한 if문만 쓰고 나머지(False 및 오류)는 다 else로 처리했었는데 그것보다는 T/F에 대한 조건문을 다 작성하고, else는 예외처리로 사용하는 것이 디버깅이 더 편리하다는 것이었다.

 

오늘 랩미팅에서 디버깅으로 코드이해가 더 잘 될 거라고 조언을 들었는데 디버깅을 하기 위한 코드 작성법을 배운것 같다.

 

▼패캠 강의 리스트▼

https://bit.ly/37BpXiC

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*


#패스트캠퍼스, #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수학적으로_접근하는_딥러닝_올인원_패키지_Online #대학원생공부 #인공지능독학 #머신러닝 #딥러닝

수학적으로 접근하는 딥러닝 올인원 패키지 Online

 

3일차 강의는 python review 강의였다.

수학적으로 접근하다고 해서 코딩을 하게 될 줄은 정말 꿈에도 생각을 못하고 있었는데, python을 다시 마주하게 되었다. 

우리가 코딩을 배우는 이유, 그리고 우리가 코딩을 배워서 궁극적으로 해내고 싶은 목적은 바로 컴퓨터로 내 생각을 말 할 수 있게 되는 것이다.

다시 정리하자면, 논문에 구현된 알고리즘을 컴퓨터 코드로 구현해내고, 테스트하기 위해 코딩을 배우는 것이다.

라고 강사님께서 코딩을 배우는 목적에 대해 설명해주셨다.

공대에 왔으니 코딩을 해야지... 라고 막연하게만 공부해왔던 나한테는 정말 큰 흔들림이 생겼다. 

단 3초의 말로 코딩을 열심히 배울 목표를 심어주셨다.

 

이 강의는 입문자도 대상으로 하고 있으므로 python의 기초를 가르쳐주셨다.

그런데, 그냥 python의 기초 코드를 알려주신게 아니라, List의 각 특징이 의미하는 것, 그리고 List를 쓰지 않고 numpy를 사용하는 이유 등 원리적인 부분을 강의해주셨다.

 

특히 마지막즈음 말씀해주신 list comprehension 이 가장 새로웠다.

그냥 단순히 if문을 압축할 수 있는 코드인 줄로만 알고 있었는데, 그게 아니라 for문보다 의미를 명확하게 한 코드였다.

list comprehension은 어디선가 정규과정으로 배웠다기보다 그냥 코딩하면서 주섬주섬 배운 것이라 무슨 코드인지 잘 몰라서 못 썼는데, 이렇게 설명을 해주셔서 개념이 명확해진 느낌이 들었다.

 

▼패캠 강의 리스트▼

https://bit.ly/37BpXiC

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*


#패스트캠퍼스, #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수학적으로_접근하는_딥러닝_올인원_패키지_Online #대학원생공부 #인공지능공부 #인공지능독학 #딥러닝

수학적으로 접근하는 딥러닝 올인원 패키지 Online

오늘의 강의는 Chapter 1-2 Forward/Backward Propagation 강의였다.

Backpropagation을 못 들어봤다면 순전파, 역전파는 들어보셨는가?

MLP(Multi Layer Perceptron)의 기본이 되는 연산이다.

그동안 순전파는 앞으로 계산하여 값을 넘기는 연산, 역전파는 뒤로 연산하는.. 그냥 그정도로만 차이를 알고 있었는데,

이번 강의를 통해서 순전파는 prediction할 때! 역전파는 parameter update할 때! 라는 것을 알게 되었다.

 

Input layer, Hidden Layer, Output Layer 라는 기초적인 용어를 알려주셔서 초보자용 강의인가 하다가도..

Backpropagation이 첫 개념강의인것을 보면 딥러닝을 좀 배운 사람들에게 원리를 가르쳐주는 강의인가..싶기도했다.

오늘 강의 말미에 그 답을 주셨다.

패캠은 적은 시간 투자를 강조한다. 10분~20분 정도의 강의라서 그런지 내용을 매우 압축하셨다고 한다.

그래서 딥러닝이 무엇인가, 그 추상적인 것은 유튜브나 따로 여러 자료가 많으므로 그런 것을 참고하고 오면 좋을 것이라고 말씀해주셨다.

딥러닝의 감을 잡고오라는 과제아닌 과제를 내주셨는데, 초심자의 마음으로 한 번 훑고가면 좋을 것 같다.

 

▼패캠 강의 리스트▼

https://bit.ly/37BpXiC

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*


#패스트캠퍼스, #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수학적으로_접근하는_딥러닝_올인원_패키지_Online #대학원생공부 #인공지능공부 #인공지능독학 #딥러닝

+ Recent posts