일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 딥러닝손실함수
- conjugate pseudo label paper
- 컴퓨터구조
- 최린컴퓨터구조
- Pix2Pix
- SSL
- shrinkmatch paper
- tent paper
- UnderstandingDeepLearning
- shrinkmatch
- Meta Pseudo Labels
- WGAN
- dcgan
- semi supervised learnin 가정
- Pseudo Label
- GAN
- Entropy Minimization
- cifar100-c
- mocov3
- CGAN
- CycleGAN
- 백준 알고리즘
- adamatch paper
- BYOL
- remixmatch paper
- mme paper
- CoMatch
- ConMatch
- dann paper
- simclrv2
- Today
- Total
목록분류 전체보기 (247)
Hello Computer Vision
이번에 InfoGAN논문을 보면서 몬테카를로 시뮬레이션 용어가 나와서 처음 보는 용어이고 그냥 넘어갈 수 없다고 생각해 찾아보았고 정리해두려고 합니다. 참고한 내용들은 밑에 출처를 남겨두었고 해당 글들을 바탕으로 제 개인적인 이해를 적어두었습니다. 몬테카를로 시뮬레이션은 확률 분포로부터 난수를 뽑아 반복계산하는 것이다. 제가 시청한 영상에서는 작업을 예시로 들었는데요, 일 하나를 끝마치기 위해서는 작업A -> 작업B -> 작업C 의 과정을 거쳐야한다 했을 때 각각 정규분포를 따른다고 했을 때 작업A : 6~14분 소요 작업B : 10~30분 소요 작업C : 15~45분 소요 따라서 세개의 작업으로 이루어진 일은 최소 31분 최대 89분이 걸립니다. 그렇다면 최소시간과 최대 시간이 어느정도 걸리는지는 알겠..
저번 DCGAN 논문 리뷰에 이은 코드 실습입니다. 원래 코드는 1주일 전부터 만들었는데 결과가 너무 안좋아서 여러 시도 끝에 그나마 괜찮은 결과 얻어서 지금에야 올립니다.. https://keepgoingrunner.tistory.com/10 비전공생의 DCGAN(Deep Convolutional Generative Adversarial Networks, 2016) 논문 리뷰 지난번 GAN에 이은 두번째 논문 리뷰이다. DCGAN을 코드로 구현해본 적 있는데 GAN이 MLP로 이미지를 생성했다면 DCGAN은 CNN을 이용해 이미지를 생성한 것이 가장 큰 특징이다. GAN 논문을 읽을 때도 익 keepgoingrunner.tistory.com 전체 코드는 아래 들어가시면 볼 수 있습니다. https://..
이번에는 저번 시간에 배운 MIPS의 명령어체계를 조금 딥하게 하셨는데요, 최근에 몸상태도 안좋고 Machine 명령어들에 대한 이야기들이 개인적으로 머리가 멍했네요.. 그래서 오늘은 100%이해한다기 보다는 가볍게 들었습니다. 일단 MIPS가 뭔지 몰랐는데 Microprocessor without Interlocked Pipeline Stages 약자입니다. MIPS사가 만든 명령어 집합체계라고 합니다. 32비트면 32비트의 stages이고 64비트면 64비트의 stages 지난 수업에서는 이 Type들만 가볍게 보고 마치셨는데 3주차때는 R-type을 주로 설명을 하셨다. 일단 명령어마다 길이가 다 다르다.(당연하다) 명령어의 타입들은 메모리로부터 명령어를 가져오거나, Arithmetic연산을 수행하..
이번에 논문 구조를 구현하는 과정에서 (DCGAN, LSGAN) 가중치 초기화하는 과정을 거쳤는데요 어이없는 착각을 하면서 며칠간 가중치 초기화만 만졌습니다.. 그래서 가중치 초기화 이 녀석이랑 너무 친해진 거 같아서 다른 분들께 도움이 되고자 합니다. 1. Why 가중치 초기화? 왜 하는지에 대해서는 이미 다른 분들이 많이 포스팅하였더라고요. gradient 관련해서 많이들 쓰시는데 쓰시는 Neural Network에 맞게 쓰시면 될 거 같습니다 (He / Xavier) 그리고 논문에서 모델 구조에 대해 설명하면서 가중치 초기화에 대해 언급하는 경우가 있으니 그럴 경우 그에 맞게 초기화하면 될 거 같습니다. 2. 가중치 초기화 코드 net = nn.Sequential( nn.Conv2d(3, 2, 3)..
지난 CGAN에 이은 LSGAN의 논문 리뷰입니다. CGAN도 코드를 빨리 구현해야하는데.. 학교과제에다 논문도 읽고, 컴퓨터구조 강의도 따로 듣다보니 너무 정신이 없네요.. 저의 발전을 위해서라도 논문 리딩이 끝나면 빠르게 구현해보도록 하겠습니다. 이 논문의 핵심이라면 기존의 손실함수를 Binary Cross Entropy를 사용했다면(Sigmoid Cross Entropy) 제목에서부터 알 수 있듯이 Least Square 함수를 손실함수로 사용하는 것이 가장 큰 특징입니다. 바로 한번 따라가보겠습니다. 1. Inroduction GAN이 unsupervised learning 에서 좋은 성능을 내었다고 칭찬하면서 시작합니다. 그리고 단점을 말하는데요, 지금까지 많은 논문에서도 지적했던 것처럼 sta..
지난번 CGAN논문 리뷰에 이어서 코드로 한번 구현해보겠습니다. https://keepgoingrunner.tistory.com/12 비전공생의 CGAN(Conditional Generative Adversarial Nets, 2014) 논문 리뷰 지난번 DCGAN에 이어서 이번에는 cGAN이다. DCGAN도 그렇고 기존의 vanila GAN도 그렇고 데이터셋을 학습한 후 다른 조건 없이 분포르 학습한 후 이미지를 생성했다면은 이 cGAN은 정답라벨을 줘서 원하 keepgoingrunner.tistory.com 전체코드는 해당 github에서 볼 수 있습니다. https://github.com/JiWoongCho1/Gernerative-Model_Paper_Review/blob/main/cGAN.ipyn..
레지스터는 현재 CPU(프로세서)가 처리하고 있는 데이터를 보유한다. 우리는 매일매일 데이터를 저장하는 과정을 거치는데 이렇게 영구적으로 저장할 데이터는 하드디스크에 저장이 된다. 그리고 임시적으로 저장하는 장소는 메모리(RAM)이다. CPU에서 연산을 하고 이 연산의 결과를 보내고, 영구적으로 저장할 데이터를 하드디스크에 보내는 등의 이러한 명령들과 이들에 대한 주소를 저장할 수 있는 임시저장 기억공간이 필요한데, 이러한 명령들을 아주 빠르게 할 수 있는 것이 CPU옆에 있는 레지스터인 것이다. 공간은 아주 작지만 CPU와 직접적으로 연결되어 있기 때문에 메모리보다 실제 속도가 수십배, 수백배 빠르다. 그리고 CPU에서는 자체적으로 데이터를 저장할 방법이 없고 메모리로 직접 데이터를 전송할 수 없기 때..
지난번 컴퓨터구조 2주차 강의를 듣다가 컴파일러와 인터프리터의 차이를 알 수 있었는데 조금 더 정확하게 알아보기 위해 따로 찾아보고 기록해두려고한다. 두개 모두 우리가 작성한 코드(프로그래밍 언어)를 기계어로 번역해준다는 공통점을 가지고 있다. 본격적으로 알아보기 위해 이미지로 한번 보면 더 이해가 빠를 거 같다. 컴파일러(Compiler) 소스코드 전체를 한번에 번역한 후 실행을 한다. 따라서 코드에 잘못된 부분이 있으면 에러를 발생시키며 프로그램이 실행되지 않는다. (번역하고 실행하는 과정이 한번에 되는 것이 아니라 각각 해주어야한다.) 컴파일러가 성공적으로 코드를 번역하는데 성공하였을 때 다음 차례에 프로그램을 실행할 때는 이미 번역한 코드이므로 컴파일 과정을 다시 거치지 않는다. 하드웨어 종속성이..