Slow is better than NOTHING

Python을 활용한 구글드라이브 파일 원격 다운로드

본 포스트에서는 구글 드라이브 (Google Drive) 에 있는 파일을 Python 코드를 통해 다운로드하는 방법을 소개합니다. 예제 코드도 함께 제공됩니다. gdown 을 활용한 구글 드라이브 파일 원격 다운로드 파일을 원격에서 접근하기 위한 다음과 같은 사전 작업이 필요합니다. gdown 설치 자세한 내용은 링크를 참조바랍니다. pip install gdown # to upgrade pip install --upgrade gdown 파일 권한 변경 파일 우클릭 --> Get Link --> Restricted 에서 Anyone with the link 로 파일 권한 변경 다음과 같은 권한 설정이 된 파일만이 gdown 을 통해 접근이 가능합니다. 사전 작업이 모두 완료되었다면, 파일 우클릭을 통해 ..

Ubuntu16.04 2023.01.03 0

[Python] 프로그래머스 2021 KAKAO 코딩테스트 - 숫자 문자열과 영단어

문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 입출력 예 s result "one4seveneight" 1478 "23four5six7" 234567 "2three45sixseven" 234567 "123..

[KaKao] 2022.02.03 0

[Python] 프로그래머스 2022 KAKAO 코딩테스트 - 신고 결과 받기

문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2..

[KaKao] 2022.01.31 0

적대적 공격(Adversarial Attack)과 방어 방법(Defense Mechanism) 소개

적대적 샘플(Adversarial Examples)이란 공격자에 의해 의도적으로 딥러닝 시스템을 속이기 위해 교묘하게 제작된 결과물(output) 입니다. Machine intelligence 는 날이 갈수록 진화하고 있으며, 보다 정교하고 다양한 물체를 인간처럼 인식하는 것은 물론 인간과 상호작용하는 많은 어플리케이션들이 개발되었습니다. 하지만, 딥러닝(Deep Learning) 분야에서는 여전히 풀지못하는 난제 중 하나가 일반화(Generalization) 문제입니다. Generalization이란, 딥러닝에 의해 구축된 시스템이 다양한 도메인(domain)에 잘 적응될 수 있는 능력을 일컫는데요, 예를 들어, 다음과 같은 두 개의 강아지 이미지가 있을 때 인간은 두 개의 이미지가 Style 정보는 ..

CrossEntropy 와 KL-divergence

CrossEntropy와 KL divergence는 Machine Learning에서 가장 많이 접하게 되는 개념들입니다. 요즘 Application level에서의 연구를 하다보니 기본적인 ML지식이 많이 부족한 기분이 들어, 본 포스트에서는 CrossEntropy와 KL divergence에 대한 기본적이고 이론적인 내용을 정리해볼까합니다. 본 내용은 알고있는 내용과 구글에서 블로그를 찾아가며 새롭게 정리한 글임을 알려드립니다. CrossEntropy Entropy 란, 주어진 분포 $p(y)$ 에 대한 불확실성(uncertainty)를 나타냅니다. Entropy가 높다라는 것은 주어진 값에 대해 불확실성이 높다라는 의미입니다. 예를 들어, 동전던지기를 통해 앞,뒷면이 나올 확률을 나타내는 분포(예,..

5. Deep learning 2022.01.23 4

오일러 경로와 회로(Eulerian trail & circuit)

오일러 경로(Eulerian trail) 란 그래프에 존재하는 모든 Edge를 정확히 1번씩만 방문하는 연속된 경로입니다. 이때 시작점과 도착점이 같으면 오일러 회로(Circuit) 가 됩니다. 가장 대표적으로 별 모양 그래프가 있는데 어느 점에서 시작하더라도 모두 출발점으로 되돌아 올 수 있습니다. 즉, 위 그래프는 오일러 회로가 존재합니다. 위 그래프를 다시 보면 모든 정점의 차수가 2(짝수)인데 시작점과 끝점을 제외하고서는 들어오는 간선이 있다면 반드시 나가는 간선이 하나 더 마련되어 있어야 하기 때문입니다. 그렇기에 항상 차수가 2의 배수꼴로 붙게 됩니다. 오일러 경로의 존재여부를 판단하는 방법은, 무향 그래프(non-directed graph)일 경우 Degree가 홀수 인 정점(Vertex)가..

4. Algorithm 2019.05.18 1

적대적 공격(Adversarial Attack)과 방어 방법(Defense Mechanism) 소개

적대적 샘플(Adversarial Examples)이란 공격자에 의해 의도적으로 딥러닝 시스템을 속이기 위해 교묘하게 제작된 결과물(output) 입니다. Machine intelligence 는 날이 갈수록 진화하고 있으며, 보다 정교하고 다양한 물체를 인간처럼 인식하는 것은 물론 인간과 상호작용하는 많은 어플리케이션들이 개발되었습니다. 하지만, 딥러닝(Deep Learning) 분야에서는 여전히 풀지못하는 난제 중 하나가 일반화(Generalization) 문제입니다. Generalization이란, 딥러닝에 의해 구축된 시스템이 다양한 도메인(domain)에 잘 적응될 수 있는 능력을 일컫는데요, 예를 들어, 다음과 같은 두 개의 강아지 이미지가 있을 때 인간은 두 개의 이미지가 Style 정보는 ..

[PyTorch] 적대적 공격(Adversarial Attack) - FGSM/PGD

적대적 공격(Adversarial Attack)은 딥러닝 모델의 내부적 취약점을 이용하여 만든 특정 노이즈(Noise or Perturbation)값을 이용해 의도적으로 오분류를 이끌어내는 입력값을 만들어내는것을 의미합니다. 적대적 공격으로 특별히 machine learning system을 속이기 위해 제작된 입력 값을 적대적 예제(Adversarial Example)라고 하며, 대표적인 공격 방법으로 FGSM(Fast Gradient Sign Method), PGD(Projected Gradient Descent) 방법이 있습니다. 두 개의 공격은 주어진 모델의 Weight값을 이용해 Gradient값을 계산하여 입력값을 조작할 수 있다는 점에서 생성된 적대적 예제는 해당 모델의 'Worst-case..

[CUDA ERROR] nvidia-smi has failed because it couldn't communicate with the nvidia driver

딥러닝을 하시는 분들이 서버를 재부팅하는 과정에서 종종 볼 수 있는 ERROR 문구입니다. nvidia-smi has failed because it couldn't communicate with the nvidia driver nvidia 그래픽 드라이버가 재부팅 과정에서 자동으로 업데이트를 하거나 코드가 불완전하게 종료되어 다음과같은 오류문구가 발생합니다. 로컬에 기존의 nvidia 드라이버가 있다면, $ sudo apt remove nvidia-driver-{$version} $ sudo autoremove $ sudo apt-get install nvidia-driver-{$version} 명령어를 통해 새롭게 드라이버를 설치해주면 됩니다. 위 방법이 안되시거나, 기존 드라이버 정보를 찾을 수 없..

Ubuntu16.04 2021.07.10 0

적대적 공격 동향(Adversarial Attacks Survey)

Deep Learning 을 활용한 Neural Network 기술들이 등장하면서 Machine Learning의 다양한 공학적 접근이 개발되고 있습니다. ImageNet과 같은 거대한 데이터셋에 대해서도 효율적으로 연산할 수 있는 알고리즘이라던지 연산을 가속화 시킬 수 있는 하드웨어적인 발전이 뒷받침되어 Real World에서 발생할 수 있는 많은 문제들을 놀라운 성능으로 해결하고 있습니다. 하지만 최근 DNN(Deep Neural Network) 의 훈련에서의 불안정성 및 비신뢰적인 과정으로 인해 Adversarial Attack 에 대해 매우 취약하다는 사실들이 학계에서는 많이 알려지고 있습니다. Adversarial Examples 는 DNN이 잘못된 결과를 산출하도록 공격자가 의도적으로 조작 시..

반응형