-
RSA Puzzles
서론 RSA는 공개키 암호의 일종으로, 공개키를 통해 평문을 암호화할 수 있으며 비밀키를 통해 암호문을 복호화할 수 있습니다. 이 때 비밀키로부터 공개키를 구할 수는 있지만, 공개키로부터 비밀키를 구하기는 어렵다는 비대칭적 특징을 지닙니다. 일반적으로 RSA에 대한 공격이라고 한다면 공개키만을 갖고 있는 상황에서 비밀키를 구할 수 있는 방법을 의미하곤 합니다. 예를 들어 RSA는 공개키 $(e, N)$과 비밀키 $(d, N)$으로 구성되는데, $N$를 소인수분해해 $N$을 이루는 두 소수 $p, q\ (N = pq)$를 구하거나 암호문으로부터 비밀키의 값을 모르는 상태로 평문...
-
sentiment analysis
Sentiment Analysis Contents 감정 분석이란 자연어처리 구현 마치며 참고자료 감정 분석이란 감정 분석은 일종의 자연어처리에 속하는 인공지능 과제 중 하나입니다. 여기서 자연어처리는 간단하게 사람간의 발화, 또는 이로 이루어진 문장 그리고 지문의 감정을 분석하는 것을 의미합니다. 감정이란 사람이 생각하는 사고와 그에 따른 의견에 의해 느끼고, 나타나는 것을 말합니다. 따라서 감정분석이라는 것은, 텍스트 또는 실제 발화에서 나타나는 그 사람의 태도, 의견, 성향을 분석할 수 있어야 합니다. 자연어처리중에서도 감정 분석은 상당히 어려운 분야로 취급됩니다. 이는 같은 의견이라도 사람의...
-
Monad Transformer In Scala
안녕하세요~ 오늘은 Monad Transformer 에 대해서 포스팅해보려고 합니다 ㅎㅎ » 이 글을 좀 더 좋은 가독성으로 읽기 « Monad Transformer 란? 자, 다음과 같이 간단한 코드가 있습니다. case class User(id: String, bestFriendId: String) def getUser(userId: String): Future[Option[User]] = ??? def getBestFriendOfUser(userId: String): Future[Option[User]] = for { userOpt <- getUser(userId) bestFriendIdOpt = userOpt.map(_.bestFriendId) bestFriendOpt <- bestFriendIdOpt match { case Some(bestFriendId) => getUser(bestFriendId) case None => Future.successful(None) } } yield bestFriendOpt getBestFriendOfUser 함수를 보면 Future 와 Option...
-
Pix2Pix 이미지 변환 모델 소개 및 구현
소개 “Image-to-Image Translation with Conditional Adversarial Nets”은 CVPR 2017에 accept된 논문입니다. 이 논문은 이미지의 도메인간 변화를 다루는 문제인 image to image translation을 처음으로 정의했습니다. 이 변환에는 흑백 사진을 컬러화 시키는 것, 윤곽이 주어졌을 때 물체를 그리는 것 등이 포함됩니다. 이전까지는 각각의 변환 문제마다 다른 모델을 사용했었는데 해당 논문에서는 자신들의 Pix2Pix 모델이 대부분의 변환 문제를 잘 해결함을 보여주었습니다. 이미지 변환 예시 (출처: https://phillipi.github.io/pix2pix/) 이미 수많은 이미지 처리 문제는 convolutional neural nets(CNNs)를 사용해서 해결하고 있습니다. 하지만, 여전히...
-
Weighted Min-Cut: Sequential, Cut-Query and Streaming Algorithms
Weighted Min-Cut: Sequential, Cut-Query and Streaming Algorithms 그래프의 최소 컷 (Minimum cut) 은 그래프를 연결되지 않게 하기 위해서 지워야 하는 간선의 최소 개수, 혹은 간선 가중치의 최소 합이다. 만약 간선의 최소 개수로 컷을 정의한다면, 최소 컷은 그래프의 connectivity 를 정의하는 수량이 된다. 고로 최소 컷은 그래프가 주어졌을 때 계산하고 싶은 가장 기초적인 수량에 해당되며, 응용 예시 또한 무수히 많다. 그래프의 최소 컷을 계산하는 방법은 크게 3가지가 있다. 아래에 해당 방법의 발견 시간 순으로 나열한다. (아래...