목록AI/Deep learning 을 위한 지식 (10)
Deep Learning study
오늘 정리할 것은 최대 우도 추정(MLE) 방법입니다. MLE를 공부하기 전에 Bayes theorem(베이즈 정리)를 간단하게 알아보겠습니다. Bayes Theorem 베이즈 정리는 두 확률변수의 사전확률(prior)와 사후확률(posterior)사이의 관계를 나타내는 정리입니다. 즉 사전확률(prior) 로부터 사후확률(posterior)를 알 수있게해줍니다. B를 관측 데이터, A를 모델 이라고 합시다. $$ P(A \mid B) \ = \ {{(P(B \mid A)P(A)} \over {P(B)}} $$ 사후확률(posterior) : P(A|B), B가 관측되었을때 A의 를 나타냅니다. 우도(likelihood) : P(B|A), 해당 관측치(B)가 나올 확률을 나타냅니다. 사전확률(prior)..
오늘은 립시츠 함수와 립시츠 상수에대해서 알아보도록 합시다. Lipschitz (continuous) function $$ Let \ a \ function \ f : [a,b] \rightarrow \mathbb{R} \ s.t. \ for \ some\ constant\ \mathbb{M}\ and\ for\ all\ \mathbb{x,y} \in\ [a,b] ,\\ \mid f(x) - f(y) \mid \le M\mid x-y \mid \qquad - (1). \\ Then \ the \ function \ f \ is \ called \ Lipschits\ on \ [a,b], \ and \ one \ writes \ f \ \in Lip([a,b]). $$ 굳이 번역해서 쓰자면 ,어떠한 함수 ..
오늘은 norm에 대해서 알아보도록 하겠습니다. Vector norm 벡터 노름이라고하면, 어떤 벡터를 길이나 사이즈같은 양적인 수치로 mapping하기 위한 함수(||.|| : V → R)입니다. 그러면 벡터공간(Vector space) V와 scalar a에 대하여 정의합니다. 벡터 노름은 다음 세가지 조건을 충족시켜야 합니다. $$ \mathsf{ 1. \lVert u + v \rVert \le \lVert u \rVert + \lVert v \rVert} $$ $$ \mathsf{ 2. \lVert \mathrm{a}v \rVert = \mid \mathrm{a} \mid \lVert v \rVert} $$ $$ \mathsf{ 3. If \lVert v \rVert = 0 , then \ v =..
저번 글로 초석을 다져놨으니 오늘 할 것은 SVD입니다. SVD의 개념과 계산 방법, 등위주로 알아보도록합시다. (latex는 처음써보는데 모바일 버전에서는 안보이는것 같아요, 보신다면 데스크톱 버전으로 봐 주세요 ㅎㅎ) Singular value decomposition SVD역시 앞선 eigen decomposition과 같이 행렬을 대각화하는 방법중 하나입니다. 그럼 eigen decomposition과 무엇이 다르길래 이 방법을 쓰는 것일까요 . SVD를 쓰는 이유 n x n 행렬뿐만아니라 일반적인 m x n 행렬에 대해서도 대각화가 가능하기 때문입니다. m x n 행렬 A에 대한 특이값분해는 다음과같이 정의되어집니다. $$ \mathsf{A} = \mathsf{U}\Sigma\mathsf{V}^..
선형대수학에서 가장 중요한 부분중에 하나인 고유값과 고유벡터 입니다. 딥러닝을 공부하면 항상거의 빠지지 않고 나오는게 선형대수학이죠. 중요하지만 딱 필요한 만큼만 정리하고 가겠습니다. 뒤에 할 것들이 많기때문에.... (본과는 수학과지만.. 컴퓨터를 복수전공해서 수학을 놓은지도 벌써... 4년.. ) 이 고유값과 고유벡터가 어디에 쓰인다.. 라기보다는 사실 다음에 할 내용인 SVD(singular vector decompositon)가 이 내용을 기본으로 하기때문에 짚고넘어가려고 합니다. Eigen value, Eigen vector 먼저 Α(n x n 정방행렬)를 선형변환이라고 합시다. 그러면 고유벡터는 선형변환 후에도 변하지않는 영벡터가 아닌 벡터입니다. 예를들면 xy평면에서 선형변환 A가 회전을 시..
Deep learning 논문들을 읽다보면 정말 자주나오는 단어입니다. 다소 헷갈릴 수있는 개념인 Normalization과 Regularization에 대해서 알아보도록 합시다. Regularization 이 방법은 모델에 제약(penalty)을 주는 것 입니다. 쉽게 말하자면, perfect fit 을 포기함으로써(trainging accuracy를 낮춤으로써) potential fit을 증가시키고자(testing accuracy를 높이고자) 하는 것 입니다. 위의 오른쪽 그래프를 보면 모든 traing data에대해서는 완벽하게 fitting되어 있습니다. 하지만 이 모델은 일반적으로 적용했을때 옳바른 output을 내지 못하겠죠. 따라서 너무 높은 complexity를 피하기 위해서 쓰는 방법이 ..
내가 이 책을 알게된건 아마도 .. facebook을 보던중 tensorflow kr 그룹의 게시글에서 우연찮게 본것같다. 가장 먼저 눈에 들어오는것은 Andrew ag이였다 . 이 분야에서는 너무나 유명하신 분이기 때문에 주저않고 꼭 읽어봐야겠다 라고 생각했다. Coursera에서 머신러닝 강의도 봤던터라 조금 친숙한 감도 있었던거 같다 ㅋㅋ 여튼 , 이 책은 ai 개발에 있어서의 기술적인 방법들에대해 서술하고있다 . 예를들면 데이터를 어떻게 분류할것인가 , 어떤데이터를 이용해야하는가 등의 테크닉들을 알려주고있다 . 음 .. 내가 이 책을 제대로 써먹으려면 내년 6월 전역한 후겠지만 , 많은 ai개발자들에게 도움이 될만한 책인것은 분명한것 같다 . 책의 마지막에는 ‘슈퍼히어로가 되는것보단 슈퍼히어로..
이제 연구실도 나왔고 어떻게 하면 GPU를 사용해서 딥러닝 공부를 계속 할 수 있을까 찾다가 colab을 발견하고 사용하려고 한다 ㅎㅎ 1. 구글 드라이브에 들어가기 구글 드라이브에 들어가면 왼쪽 상단에 [새로만들기]라는 것이 보일것입니다. 그것을 눌러주면 위와같이 나오고 거기서 [연결할 앱 더보기]를 클릭해 줍니다. 2. colaboratory 연결하기 [연결 할 앱 더보기]를 클릭해서 나온 창에서 [colaboratory]를 검색한후 [연결하기]를 눌러줍니다. 3. colab 시작하기 이제 다시 [새로만들기]를 누르면 [colaboratory]가 생성된 것을 볼 수 있습니다. 그리고 그것을 클릭 해 줍니다. 그러면 jupyter notebook 과 유사한 창이 뜨게 됩니다. 4. GPU 사용하기 go..