우분투는 chmod 명령어(change mode의 약어입니다.)를 통해서 파일과 디렉토리의 권한을 설정할 수 있습니다. 터미널에서 "ls -al" 명령어를 통해 현재 디렉토리와 파일들의 권한을 확인할 수 있습니다. root@root:~/cifars$ ls -al total 310060 drwxrwxr-x 4 k808 k808 4096 May 10 08:50 . drwx--x--x 39 k808 k808 4096 Jun 1 05:39 .. drwxr-xr-x 4 root root 4096 May 10 08:44 cifar10 drwxrwxr-x 4 k808 k808 4096 May 10 07:48 cifar100 -rw-r--r-- 1 root root 158516538 May 10 08:40 cifar1..
ssh-keygen을 사용해서 접속설정을 정상적으로 한것 같은데, 접속해보면 비밀번호를 요구하는 경우가 있습니다. 1. OS 별로 개행(줄바꿈) 설정이 다른 경우 Windows에서 ssh-keygen을 통해 ssh key file을 만들어서 linux remote server에 접속하는 경우에 이런 에러를 겪을 수 있습니다(윈도우 로컬 PC에서 우분투 서버에 ssh 접속 에러), 이유는 Windows는 줄바꿈 설정이 "CRLF" 인데, linux(Ubuntu 등)은 "LF"이기 때문입니다. CRLF와 LF의 이해는 링크를 참조해주세요. 이런 경우는 vscode에서 ssh key file을 열어보면 확인할 수 있습니다. Windows에서 생성한 파일의 경우 우측 하단에 CRLF라고 줄바꿈 설정이 기본으로 ..
이전 글에서 ssh-keygen을 통해 원격 서버에 비밀번호 없이 ssh 접속하는 방법을 정리했습니다. vscode를 사용하여 ssh 접속을 하기 위해 추가적인 작업이 필요합니다. 기본적인 vscode 설정은 os 환경과 상관없이 동일합니다. 예시 코드에는 제 개인적인 정보(ip 등)이 포함되어 임시로 적었습니다. vscode를 켜고 F1을 눌러 command 창을 띄우고 "Remote-SSH: Connect to Host..." 을 선택합니다. 이어지는 화면에서 "Add New SSH Host..." 를 선택합니다. 이어지는 화면에 이전 글에서 적었던 ssh 접속 명령어를 입력해줍니다. 이때 주의사항으로, Windows의 경우 경로 구분자가 \ 인데 이걸 한번만 적을 경우 접속 정보를 저장하는 과정에서..
ssh-keygen을 사용하면 비밀번호 없이 ssh를 통해 원격접속을 할 수 있습니다. 사용법+원리가 궁금하다면 잘 정리되어 있는 egoing님의 영상을 봐주시고, 간단하게 바로 따라하여 사용하고 싶다면 아래 첨부된 글을 봐주세요. 제 환경은 windows 10 이지만 ubuntu도 os 기본명령어를 빼면 크게 다르지 않습니다. 터미널창을 열고 ssh-keygen 을 입력합니다.(cmd, powershell, git bash, bash 등 어느것을 사용하던 상관 없습니다.) 그러면 아래처럼 출력이 되는데, 자세한 내용은 주석라인을 읽어주세요. C:\Users\root>ssh-keygen Generating public/private rsa key pair. # 파일이 저장될 위치, 그냥 엔터치면 기본 설..
제가 공부하고 정리한 내용을, 나중에 다시 보기 위해서 쓰는 공간입니다. Anormaly Detection, Novelty Detection, Outlier Detection 의 차이와 Unary classification(One class classification)에 대해서 글을 쓰기 위해 조사를 하다가, 너무 깔끔하게 잘 정리된 글이 있어서 그냥 그 글의 링크를 남겨두기로 결정했습니다. 수아랩의 이호성님의 글입니다. http://research.sualab.com/introduction/review/2020/01/30/anomaly-detection-overview-1.html
이 글은 제가 공부한 내용을 정리하는 글입니다. 틀린 내용이 있다면 댓글로 지적 부탁드립니다. 감사합니다. Weight decay 설명과 이해 모델을 학습하다보면 Overfitting(과적합)이 발생할 수 있다. 이 경우 가장 단순하게 해결하는 방법은 학습 데이터의 수를 늘리는 것이다. 하지만 문제에 따라서 학습 데이터를 구하기가 매우 어려울 수 있다. 예를 들어 치매환자의 뇌 MRI 영상 같은 경우 영상 하나를 만들기 위해 건당 수십만원의 비용이 소모된다. 출처[1] Overfitting 문제를 해결하기 위해서 여러가지 방법이 쓰일 수 있는데, 그 중 한가지가 Weight decay이다. Loss function이 작아지는 방향으로만 단순하게 학습을 진행하면 특정 가중치 값들이 커지면서 위 첫번째 그림..
이 글은 제가 공부한 것을 정리한 글입니다. 잘못된 내용이 있다면 댓글로 지적 부탁드립니다. 감사합니다. Coarse-grained classification 과 Fine-grained classification 의 차이 Coarse-grained 의 사전적 정의는 "결이 거친", "조잡한" 입니다. 곡식을 낱알로 분리하는 작업을 "grain" 이라고 할 수 있는데, 이를 거칠고 큼직큼직하게 할지, 곱고 세밀하게 할지에 따라서 Coarse 와 Fine 으로 나누어 표현한다고 이해할 수 있습니다. Coarse-grained classification Coarse-grained classification 은 Cifar10, Cifar100, MNIST 등의 데이터셋을 사용해 classification 하는 ..
Tensorflow 2.0 로 모델을 짜서 돌리다가 아래와 같은 에러 메세지가 출력되면서, 파이썬 에러는 아닌데 원하는대로 돌아가지 않는 경우가 생겼습니다. 텐서플로우 에러메세지를 텍스트로 옮기면 아래와 같은데, Check failed: cudnnSetTensorNdDescriptor(handle_.get(), elem_type, nd, dims.data(), strides.data()) == CUDNN_STATUS_SUCCESS (3 vs. 0)batch_descriptor: {count: 16 feature_map_count: 256 spatial: 0 0 value_min: 0.000000 value_max: 0.000000 layout: BatchDepthYX} Tensorflow 에러의 원인은 ..
이 글은 제가 공부한것을 정리한 글입니다. 잘못된 내용이 있다면 댓글로 지적 부탁드립니다. 감사합니다. Classification 과 Authentication 의 차이에 대해 알고 싶은데 검색을 해봐도 도통 마땅한 글이 없어서 정리해봅니다. Classification Classification 은 이전에 작성해둔 두 글로 설명을 대신합니다. Classification 과 Regression 딥러닝 객체 검출 용어 정리 Deep learning Object detection terminology Authentication Face Recognition 을 통해 Authentication 을 설명하겠습니다. Classification 과 Authentication 은 각각 Closed-set face re..
Improved Knowledge Distillation via Teacher Assistant 은 AAAI 2020에 제출된 논문입니다. 저자 중에는 딥마인드 소속도 있습니다. key Idea 이 논문의 핵심 아이디어를 잘 설명하고 있는 그림입니다. 저자는 기존의 Knowledge Distillation 의 Teacher, Student(이하 T, S) 관계 사이에 중간 크기의 모델인 Teacher Assistant(이하 TA) 모델을 사용하여 여러번 Distillation 을 반복하면 S 의 성능을 더 높일 수 있음을 보여주고 있습니다. Model Structure CNN 과 ResNet 을 사용하여 실험을 하는대, ResNet 은 ResNet 논문에서 제시한 형태 그대로를 사용하고, CNN 은 아래..
이 글은 제가 공부한 내용을 정리하는 글입니다. 따라서 잘못된 내용이 있을 수도 있습니다. 잘못된 내용을 발견하신다면 리플로 알려주시길 부탁드립니다. 감사합니다. Knowledge distillation 이란? Knowledge distillation 은 NIPS 2014 에서 제프리 힌튼, 오리올 비니알스, 제프 딘 세 사람의 이름으로 제출된 "Distilling the Knowledge in a Neural Network" 라는 논문에서 제시된 개념입니다. Knowledge distillation 의 목적은 "미리 잘 학습된 큰 네트워크(Teacher network) 의 지식을 실제로 사용하고자 하는 작은 네트워크(Student network) 에게 전달하는 것" 입니다. 이 목적을 풀어서 설명하면 ..
ICCV 2019 에 발표된 논문 Similarity-Preserving Knowledge Distillation 을 리뷰합니다. 이 글의 내용을 이해하기 위해서는 Knowledge distillation 이 무엇인지 이해가 필요합니다. 아래 링크를 참조해주세요.Knowledge Distillation 이란? Similarity-Preserving Knowledge Distillation 논문의 Abstract 에서 KD 의 목적, 이 논문의 Contribution, Key Idea, 효과 혹은 결과를 파악할 수 있습니다. 앞에서 KD 의 목적은 이미 설명했습니다. 이 논문의 Contribution 은 Key Idea 에 대한 설명 이후에 자세하게 설명하는 것이 더 이해를 쉽게 할 수 있습니다. Key ..
제가 공부한 것을 정리할 겸, 인터넷을 통해 지식을 전달함으로써 제 공부에 도움을 주신 많은 분들처럼 저 또한 누군가에게 도움이 되고자 글을 적어봅니다. 제가 예전에 공부하면서 정리해두었던 내용을 다시 글로써 옮깁니다. 따라서 내용들 안에 잘못된 설명이나 표현들이 있을 수 있습니다. 혹시 그러한 내용을 발견하셨다면 지적 부탁드립니다. 감사합니다. 한국어와 영어가 혼용되는 단어들이 있습니다.(기계학습과 Machine learning 등) 이전 글 Machine learning 의 정의와 설명 Neural Network 의 정의와 설명 Perceptron 인공신경망은 생물체의 신경 시스템을 모방하여 만들었습니다. 그림을 보면 i_n 이 자극으로 뉴런에 입력되면 각각의 자극에 대해 가중치 W_n 을 곱한 뒤 ..
제가 공부한 것을 정리할 겸, 인터넷을 통해 지식을 전달함으로써 제 공부에 도움을 주신 많은 분들처럼 저 또한 누군가에게 도움이 되고자 글을 적어봅니다. 제가 예전에 공부하면서 정리해두었던 내용을 다시 글로써 옮깁니다. 따라서 내용들 안에 잘못된 설명이나 표현들이 있을 수 있습니다. 혹시 그러한 내용을 발견하셨다면 지적 부탁드립니다. 감사합니다. 한국어와 영어가 혼용되는 단어들이 있습니다.(기계학습과 Machine learning 등) 이전 글 Machine learning 이란? Neural Network Neural Network(신경망) 은 기계학습을 위한 알고리즘으로 인공신경망(ANN, Artificial neural network) 가 더 정확한 표현이지만 보통 줄여서 말합니다. 생물체의 신경 ..
제가 공부한 것을 정리할 겸, 인터넷을 통해 지식을 전달함으로써 제 공부에 도움을 주신 많은 분들처럼 저 또한 누군가에게 도움이 되고자 글을 적어봅니다. 제가 예전에 공부하면서 정리해두었던 내용을 다시 글로써 옮깁니다. 따라서 내용들 안에 잘못된 설명이나 표현들이 있을 수 있습니다. 혹시 그러한 내용을 발견하셨다면 지적 부탁드립니다. 감사합니다. 기계 학습과 머신 러닝 두 단어가 같은 의미로 혼용됩니다. Machine learning 컴퓨터 과학자 아서 사무엘은 Machine learning (머신 러닝, 기계 학습)을 다음과 같이 정의했습니다. "Field of study that gives computers the ability to learn without being explicitly progra..
Lipschitz continuity (이하 립시츠 연속성) 의 영문 위키를 다른 글에 참조글로 활용하기 위해 번역합니다. 이미지 출처: https://en.wikipedia.org/wiki/Lipschitz_continuity 립시츠 연속성을 가장 직관적으로 잘 표현한 이미지입니다. 이미지를 보면 파란색 함수의 접선이 모두 분홍색 영역에 있음을 머리속에 그려볼 수 있습니다. 립시츠 연속성을 수식으로 표현하면 다음과 같은데 이 의미를 두번째 수식을 이용해서 말로 풀어 설명하면, 주어진 구간안의 함수의 두 점을 이은 직선의 기울기가 K 보다 작다는 것입니다. 이를 "First derivative 도함수가 Bounded function 유계함수인 함수는 립시츠 연속성을 가진다." 라고도 표현합니다. * Bo..
평균값 정리의 영문 위키를 다른 글의 이해를 돕는 참조글로 활용하기 위해 간단하게 번역합니다. 평균값 정리 Mean value theorem 는 많은 수학 증명에 사용됩니다. 평균값 정리는 "구간 안에 정의된 함수가 연속이고 미분일때 평균 변화율과 같은 순간 변화율을 갖는다" 는 정리입니다. 그림으로 이해하는 것이 가장 빠릅니다. 이미지 출처: https://en.wikipedia.org/wiki/Mean_value_theorem 그래프를 보면 함수 f(x) 가 [a, b] 에 정의되어 있습니다. 이 함수는 연속이고 미분가능합니다. 구간의 평균 변화율은 주황색 Secant line 과 같습니다. 함수는 c 에서의 순간 변화율이 평균 변화율과 같은 모습을 보입니다. 이를 간단한 수식으로 표현하면 다음과 같..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. Powell's method 를 이해하기 위한 사전 지식 Powell's method 는 Univariate search 를 응용한 것이기 때문에 이를 먼저 이해하고 있어야 합니다. Univariate search(링크) Powell's method Powell's method 를 시각화 한 영상입니다. 앞서 언급했듯이 Powell's method 는 Univariate search 를 응용한 것입니다. 두 방법을 이미지를 통해 비교하면 Powell's met..
상황 우분투 부팅이 안됩니다. 부트로더에 문제가 생긴줄 알았는데 아니었습니다. 우분투 주피터 원격서버를 설정했습니다. 원격서버를 모니터나 키보드 마우스 같은 인터페이스 장치 없이 사용하는데, 리부팅을 했더니 부팅 화면에 Keyboard not foundMouse not found 라는 에러 화면이 나오면서 부팅이 안되는 현상이 생겼습니다. 해결법 우분투를 사용하고 계신다면 CMOS 설정에 들어가는 방법 정도는 이미 아실 것이라고 생각합니다. 0. 키보드, 마우스가 없어도 부팅이 잘 되게 만들고 싶습니다. 1. 일단 다시 유선 키보드를 연결합니다. 2. CMOS setup utility 에 들어갑니다. 3. system information 에 들어갑니다. 4. Halt on 이 [All Errors] 와..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. Univariate search 를 이해하기 위한 사전 지식 아래 링크는 Univariate optimization(단변수 최적화) 를 위한 알고리즘입니다. 아래 링크의 내용을 이해하고 보시면 더 쉽게 Univariate search 를 이해할 수 있습니다. Golden section search(링크)Fibonacci search(링크) Univariate search 이미지 출처: http://mathfaculty.fullerton.edu/mathews/n..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. Nelder and Mead method 를 이해하기 위한 사전지식 아래 링크는 Nelder and mead method 를 이해를 돕기 위해 위키피디아에 작성되어 있던 용어에 대한 내용을 제가 한글로 풀어서 작성한 것입니다.본문을 보다가 아래 용어 때문에 이해 안되는 부분이 있다면, 그 때 읽으면 됩니다. 1. Convex set(링크)2. Convex hull(링크)3. Simplex(링크) Nelder and Mead method Nelder and Me..
Simplex 란? 이미지 출처: https://en.wikipedia.org/wiki/Simplex Simplex 의 뜻이 무엇인지 생각해본다. Simplex 가 무엇인지 어떤 교수에게 물었을때, 당신은 "'그냥 삼각형" 이라고 생각한다는 대답을 들었다. 덧붙여서 Simplex 의 확률론적 해석은 "space of all probabilities distributions with support N" 라는 말과 함께. 위키피디아의 설명은 a simplex (plural: simplexes or simplices) is a generalization of the notion of a triangle or tetrahedron to arbitrary dimensions. 이라고 되어 있는데 내 생각에 이는 ..
Convex set, convex combination, convex hull, convex function 이 각각 무엇인지 살펴보겠습니다.Convex set 이란? Convex set(좌) 과 Non convex set(우) 이미지 출처:en.wikipedia.org/wiki/Convex_set 어떤 집합안에서 2개의 지점을 선으로 연결했을 때, 그 선을 이루는 요소들이 그 집합 안에 속해 있다면 그 집합을 Convex set(볼록 집합) 이라고 합니다. 이를 수식으로 표현하면 다음과 같습니다. 여기서 혼동될 수 있는 점은, 예를 들어 농구공처럼 속이 텅빈 set 은 convex set 이 아니지만, 물풍선처럼 속이 꽉찬 set 은 convex set 이라는 것입니다. 이런 x, y는 convex s..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. 이전 글에서 Newton's method 에서 2차 근사함수를 통해서 local mimimum 을 탐색하는 방법을 언급했습니다. 이와 유사한 방법으로 Lagrange polynomial 을 통해서 minimum 을 탐색할 수 있습니다. Lagrange polynomial 출처: https://en.wikipedia.org/wiki/Lagrange_polynomial Lagrange polynomial 은 주어진 서로 다른 지점 n 개를 포함하는 가장 낮은 차수..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. 다루는 함수의 Unimodality 가 보장되어 있다면, local minimum 이 존재하는 초기구간을 줄인 상태로 Root finding 알고리즘이나 Search 알고리즘을 적용할 수 있습니다. 간단히 표현하면 Unimodal function 에서 단조 증가와 단조 감소의 경계점인 극점(extreme point)이 있는 구간을 최대한 좁히는 것입니다. 순서는 다음과 같습니다. 1. 최초의 탐색지점 x_0 를 무작위로 선정합니다.2. x_0 에서의 함수값 f..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. 이전 글에서 Fibonacci search(링크), Golden section search(링크) 에 대해서 설명했습니다. 핵심 아이디어가 똑같은 두 알고리즘은 충분한 iteration 을 거치면 결과적으로는 같은 성능(Convergence rate, 수렴속도)을 보임을 증명할 수 있습니다. Wikipedia 의 Golden section search(링크) 에서도 Fibonacci search 를 언급하고 있습니다. 1. Golden section searc..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. Fibonacci search 아이디어 피보나치 탐색(Fibonacci search)은 황금분할탐색(Golden section search)과 기본적인 아이디어는 똑같습니다. 황금분할탐색이 황금률(Golden ratio)를 사용했다면 피보나치 탐색은 피보나치 수열(Fibonacci number or Fibonacci sequence)을 사용한다는 점이 가장 큰 차이입니다. 황금분할탐색 설명 링크 이 글을 읽고 있다면 피보나치 수나 피보나치 수열에 대해서는 이미..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. 이전 글에서 Unimodality 에 대한 내용을 언급했습니다. 다루고 있는 함수가 Unimodal 하고 local minimum 을 찾고자 한다면, 아래 그림처럼 local minimum 이 존재할 것으로 생각되는 함수의 정의역의 범위를 줄여나가면 local minimum 에 도달하는 것을 보장할 수 있습니다. 타겟 함수의 형태를 모를때 함수의 Unimodality 가 확실하다면 함수의 형태가 ①, ② 중 어느 형태인지와는 상관 없이 왼쪽 그림의 경우 [a,..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. 이전 Newton's method 글에서 접선(tangent line)을 통해서 해를 찾는 방법을 얘기했습니다. 이 방법은 정확히는 x_0 에서의 Taylor series expansion 의 1차 함수까지만 전개한 함수를 사용해서 접선을 구한 것입니다. x_0 에서의 Taylor series expansion 을 2차함수까지 전개를 하면 아래 그림의 빨간 convex function 처럼 원함수 f(x) 에 대한 2차 근사함수를 구할 수 있습니다. 이후의 원..
이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다. Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다. False position method(Regula Falsi) 가 잘 설명되어 있는 영상입니다. 알고리즘 자체의 방법론과 Rate of convergence 에 대한 설명은 영상에 충분히 시각화되어 추가적인 설명이 필요 없다고 생각됩니다. 여기선 False position method 의 장점과 단점에 대해 생각해보려합니다. 장점 1. 미분이 필요 없기 때문에, 미분 불가능한 정의역이 있거나 미분 자체가 어려운 함수에 적용하기 좋습니다. 2. 이는 장점이자 ..