본문 바로가기

Tech82

[Ops] Docker 이미지 처리 이미지 다운로드 (docker image pull) docker image pull [옵션] 이미지명 [:태그명] 예를 들어 centOS의 버전 7(태그명 : 7)을 다운로드 하려면 다음의 명령을 실행하면 된다. docker image pull centos:7 태그명을 생략하면 최신판(latest) 취득하며, -a 옵션을 지정하면 모든 태그를 취득할 수 있다. 이때, -a 옵션을 지정 할 때는 Docker 이미지 명에 태그를 지정할 수 없으므로 주의해야 한다. docker image pull -a centos docker 이미지 명에 이미지를 취득할 URL을 지정할 수 있으며, URL은 프로토콜 (https://)을 제외하고 지정한다 docker image pull gcr.io.tensorflow/ten.. 2022. 12. 20.
[ML] 메타 러닝과 퓨샷 러닝 메타러닝 이란? 딥러닝이 성공을 거둘 수 있었던 것은 많은 연구자들이 좋은 알고리즘과 기술을 연구하여 지속적으로 공유한 덕분이지만, 그 이면에는 더 중요한 계기가 있다. 딥러닝이 기존에 풀지 못한 어려운 문제들을 풀 수 있었던 근본적인 이유 중 하나는 크고 다양한 데이터 셋과 좋은 하드웨어가 뒷받침되었기 때문이다 그렇다면 이렇게 우수한 딥러닝의 단점은 없었을까? 딥러닝 또한 많은 단점이 있다. 대표적인 단점 중 하나는 크고 다양한 데이터 셋이 준비되어야 하고, 값비싼 좋은 하드웨어, 수 많은 컴퓨터 자원이 확보되어야 한다는 점이다. 조금 다른 관점에서 해석하면 딥러닝의 핵심인 인공신경망은 사람의 뇌와 달리, 적은 데이터로 빠르게 학습하기가 어렵다 사람은 새로운 데이터를 몇번만 보고도 어떤 개념을 상대적으.. 2022. 12. 17.
[PY] Python 메모리 이모저모 - 1 파이썬에 대한 메모리 이모저모를 정리 1. 변수 temp = 'aa' 변수란 특정 메모리 주소를 담고 있는 것을 의미한다. 이것은 메모리 주소를 붙이는 라벨이라고 생각하면 된다 2. id 함수 id(obj)로 사용하며 해당 객체/변수의 메모리 주소 값을 반환한다 hex(id('a')) #'0x7f6bbabc76b0' hex(id('b')) #'0x7f6bbabdc8f0' a와 b는 서로 다른 메모리 주소 값을 반환하는 것을 알 수 있으며, C/C++ 의 & 포인터 연산자와 동일하다 # c/C++ char chr = 'a' printf("%x", &chr) # python hex(id('a')) 3. is 와 == a is b : 메모리 주소를 비교하는 것이며, a == b : 두 개의 값만을 비교한다 것.. 2022. 12. 17.
[RC] Recomender System 개요 주요 추천 알고리즘 추천 시스템에 사용될 수 있는 알고리즘의 종류는 자세히 분류해 보면 수천, 수만 가지가 있을 수 있지만 이들은 대체로 다음의 몇 가지 알고리즘의 변형이라고 할 수 있다 협업 필터링 (Collaborative Filtering : CF) 협업 필터링이란 구매, 소비한 제품에 대한 각 소비자의 평가를 받아서 평가 패턴이 비슷한 소비자를 한 집단으로 보고 그 집단에 속한 소비자들의 취향을 활용하는 기술이다. 예를 들어 A라는 소비자와 제품 평가 패턴이 비슷한 사람들을 골라서 이 사람들이 공통으로 좋아하는 제품 중에서A가 접하지 않는 제품을 골라내서 제시하는 기술이다. 이 기술은 사람들의 취향이 뚜렷이 구분되는 제품(예를 들어 영화나 음악, 패션)을 추천할 때 더욱 정확하다고 알려져 있다 이.. 2022. 12. 8.
[ML] 군집 평가 (Cluster Evaluation) - 실루엣 분석 (Silhouette Analysis) 군집 평가 (Cluster Evaluation) 군집화는 분류와 유사해 보일 수 있으나 성격이 많이 다르다. 데이터 내에 숨어 있는 별도의 그룹을 찾아서 의미를 부여하거나 동일한 분류 값에 속하더라도 그 안에서 더 세분화된 군집화를 추구하거나 서로 다른 분류 값의 데이터도 더 넓은 군집화 레벨화 등의 영역을 가지고 있다. 그렇다면 군집화가 효율적으로 잘 됐는지 평가할 수 있는 지표에는 어떤 것이 있을까? 비지도 학습의 특성상 어더한 지표라도 정확하게 성능을 평가하기는 어렵다. 그럼에도 불구하고 군집화의 성능을 평하는 대표적인 방법으로 실루엣 분석을 이용한다 실루엣 분석의 개요 군집화 평가 방법으로 실루엣 분석 (silhouette analysis)이 있다. 실루엣 분석은 각 군집 간의 거리가 얼마나 효율.. 2022. 12. 8.
[ML] GirdSearchCV GridSearchCV - 교차 검증과 최적 하이퍼 파라미터 튜닝을 한 번에 하이퍼 파라미터는 머신러닝 알고리즘을 구성하는 주요 구성 요소이며, 이값을 조정해 알고리즘의 예측 성능을 개선할 수 있다. 사이킷런은 GridSearchCV API를 이용해 Classifier나 Regressor와 같은 알고리즘에 사용되는 알고리즘에 사용되는 아이퍼 파라미터를 순차적으로 입력하면서 편리하게 최적의 파라미터를 도출할 수 있는 방안을 제공한다 Grid는 격자라는 뜻으로, 촘촘하게 파라미터를 입력하면서 테스트를 하는 방식이다. 예를 들어 결정 트리 알고리즘의 여러 하이퍼 파라미터를 순차적으로 변경하면서 최고 성능을 가지는 파라미터 조합을 찾고자 한다면 다음과 같이 파라미터의 집합을 만들고 이를 순차적으로 적용하면서 최.. 2022. 11. 30.
[ML] GLUE (General Language Understanding Evaluation) GLUE (General Language Understanding Evaluation) GLUE의 탄생과 활용의 예 전이 학습(Transfer Learning)과 관련된 연구를 시작하고, 자연어 처리 내에서도 전이학습의 성공이 이어짐에 따라 모델을 평가하기 위한 새로운 방법론의 필요성이 대두되었다 특정 문제만을 해결하기 위해 End-to-End 방식으로 학습된 Single Task Model들과 달리 전지 학습모델은 Deep한 모델을 이용해 자연어의 일반화된 이해를 중점으로 학습한다. 즉, 전이 학습 모델들 사전학습을 통해 언어에 대한 일반적인 이해 능력을 가질 수 있게 되는 것이다. 이처럼 사전학습을 통해 얻어진 자연어 이해 능력은 해당 모델을 특정 태스크를 수행하기 위해 fine-tuning 할 때 .. 2022. 11. 30.
[GAN] GAN (Generative Adversarial Network) 이란? GAN (Generative Adversarial Network) 이란? ‘Adversarial’이란 단어의 사전적 의미를 보면 대립하는, 적대하는 뜻을 갖는다. 이렇게 적대/대립을 하려면 상대방이 있어야 가능하다는 것을 크게 두 부분으로 나누어져 있다는 것을 알 수 있다 GAN은 다양한 노이즈 (Noise) 입력을 받아 원하는 카테고리의 기존에 존재하지 않는 새로운 이미지를 생성하는 생성(Generative) 네트워크와 생성된 이미지가 가까인지 진짜인지를 판별하는 판별(Discriminative) 네트워크를 적대적으로 (Adversarial) 학습시키며, 입력 이미지나 비디오를 다른 형태나 정보를 지닌 이미지나 비디오를 다른 형태나 정보를 지닌 이미지 또는 비디오로 변환하는 모델이다. 예를들어 두 모델.. 2022. 11. 29.
[PY] 캡슐화 (encapsulation) - @property 캡슐화 (encapsulation) 캡슐화는 클래스 필드에 직접 접근하지 못하게 하는 보호 수단이며, 클래스 내부의 모든 데이터는 프라이빗으로 취급 되어야 한다는 가정을 기반으로 한다. 완전히 캡슐화된 클래스에서는 가능한 적은 수의 메서드만 퍼블릭하게 노출되어야 한다 객체의 상태를 읽거나 쓰는 모든 접근은 세터 도는 케터 메서드를 통해 제공되고 이를 적절한 사용을 보호해야 한다. 예를 들어 Java 에서 다음과 같이 구현된다. public class UserAccount { private String username; public String getUsername() { return username; } public void setUsername(String newUsername) { this.usern.. 2022. 11. 27.