All Articles

์ปดํ“จํ„ฐ์˜ ์ด๋ฏธ์ง€

๋ณด์ผ๋“ฏ ๋ง๋“ฏํ•œ ์ฑ„๋กœ ์š”์ฆ˜ ๋จธ๋ฆฟ์†์— ์ž์ฃผ ๋“œ๋Š” ์ƒ๊ฐ์„ ๊ฐ„๋‹จํžˆ ๋‚จ๊ฒจ๋ณธ๋‹ค.

์ปดํ“จํ„ฐ๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šธ ์ , ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์ „์—ญํ•˜๊ณ  2013 ๋…„ ์ฒซํ•™๊ธฐ์— ๋…ผ๋ฆฌ์„ค๊ณ„, ๋…ผ๋ฆฌ์„ค๊ณ„์‹คํ—˜, ์ด์‚ฐ์ˆ˜ํ•™์„ ๋“ค์„ ์ ๋ถ€ํ„ฐ ์–ผ๋งˆ์ „๊นŒ์ง€ ๋‚ด๊ฒŒ ์ปดํ“จํ„ฐ๋Š” ์ค„๊ณง ๊ณ„์‚ฐ์„ ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ณ , ์ •๋ณด๋ฅผ ๋„ฃ์—ˆ๋‹ค ๋บ„๋‹ค ํ•  ์ˆ˜ ์žˆ๊ณ , ์ž๊ธฐ๋“ค๋ผ๋ฆฌ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋“ค๊ณ ๋‹ค๋‹ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋Ÿฐ ์กด์žฌ์˜€๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์š”์ฆ˜ ๋Œ€ํ•™์›๋ฌผ(ํ•„์š”ํ•ด์„œ ์ฝ๋Š” ๋…ผ๋ฌธ๋“ค์ด๋‚˜, ์ •๋ณด์‹œ๊ฐํ™” ์ˆ˜์—…)์„ ๋จน์œผ๋ฉด์„œ โ€˜์‚ฌ๋žŒ ๋Œ€์‹  ์˜์‚ฌ ๊ฒฐ์ •์„ ํ•˜๊ฑฐ๋‚˜, ์‚ฌ๋žŒ์˜ ์˜์‚ฌ ๊ฒฐ์ •์— ๋„์›€์„ ์ฃผ๋Š” ์กด์žฌโ€™๋กœ์„œ ์ปดํ“จํ„ฐ๋ฅผ ์ƒ๊ฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์กŒ๋‹ค. ์•„๋ž˜๋Š” ์ด ์ด๋ฏธ์ง€๋ฅผ ํ˜•์„ฑํ•˜๋Š”๋ฐ ํฐ ์˜ํ–ฅ์„ ์คฌ๋˜ ๋ช‡๋ช‡ ์ž๊ทน๋“ค.


VisMatchmaker: Cooperation of the User and the Computer in Centralized Matching Adjustment

๋งํฌ ์ œ๋ชฉ๋ถ€ํ„ฐ ๋”ฑ ๋ญ๋‹ค ์‹ถ์ง€๋งŒ, ์ƒ๊ฐ๋ณด๋‹ค ์•ž๋ถ€๋ถ„์— ์žˆ๋Š” Matching ์— ๋Œ€ํ•œ ๊ธฐ์กด์˜ ๊ฒฝ์ œํ•™ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์  ์ ‘๊ทผ์„ ๋‹ค๋ฃฌ ๋‚ด์šฉ์ด ๋‘๊บผ์›Œ์„œ ์ž์„ธํžˆ ์ฝ์ง€ ๋ชปํ•˜๊ณ  Paper box ์— ๋ฌตํ˜€๋‘” ๋…ผ๋ฌธ์ด๋‹ค. ์ € Cooperation์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ์–˜๊ธฐํ•˜์ž๋ฉด ์›๋ž˜ Matching ์„ ํ•  ๋•Œ ์ปดํ“จํ„ฐ๋Š” ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ๊ณ ๋ คํ•˜๊ณ , ์ฒ˜๋ฆฌํ•˜๊ณ ํ•ด์„œ ๊ฒฐ๊ตญ ์„ ํƒ์„ ํ•˜๋Š”๋ฐ ์ด ๊ณผ์ •์— ์žˆ๋Š” ์š”์†Œ๋“ค์„ ์‚ฌ๋žŒ์ด ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์‹œ๊ฐํ™”ํ™”๊ณ , ํ•„์š”์— ์˜ํ•ด ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์–˜๊ธฐ์˜€๋‹ค(์ด ๋ถ€๋ถ„์€ ์–ด๋Š๋‚  ๋…ผ๋ฌธ์„ ์ญ‰ ์ฝ๊ณ  ํ™• ์ˆ˜์ •๋  ์ˆ˜๋„ ์žˆ๋‹ค). ๊ฐœ์ธ์ ์œผ๋กœ ๋งจ๋‚  off-the-shelf ๋กœ ๋จธ์‹  ๋Ÿฌ๋‹์„ ์“ธ ๊ถ๋ฆฌ๋งŒ ํ•ด์„œ ์ปดํ“จํ„ฐ์˜ ์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ •์€ ๋ธ”๋ž™๋ฐ•์Šค์— ์žˆ๋‹ค๋Š” ํŽธ๊ฒฌ์ด ๊ฐ•ํ–ˆ๋Š”๋ฐ, ์ด ๋…ผ๋ฌธ๊ณผ ์š”์ƒˆ ๊ธฐ์กด์— ๋„˜์–ด๊ฐ”๋˜ ์ˆ˜์‹๋“ค์„ ํ•œ์ค„ ํ•œ์ค„ ๋ณด๋ ค๋Š” ๋…ธ๋ ฅ ๋“ฑ์ด ๋”ํ•ด์ ธ์„œ ์ธ์‹์ด ํฌ๊ฒŒ ๋ฐ”๋€Œ์—ˆ๋‹ค.


AXIS: Generating Explanations at Scale with Learnersourcing and Machine Learning

๋งํฌ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ œ๋ชฉ์— ์กฐ๊ธˆ ๋” ์‚ด์„ ๋ถ™์ด์ž๋ฉด, ์˜จ๋ผ์ธ ์ƒ์—์„œ ํ•™์Šต์ž์—๊ฒŒ ์ˆ˜ํ•™๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ๊ทธ๋“ค๋กœ ํ•˜์—ฌ๊ธˆ ์„ค๋ช…์„ ๋งŒ๋“ค๊ฒŒ ํ•œ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ํ•˜๋ฉด ๋‹น์—ฐํžˆ ๋…ผ๋ฌธ์ด ์•ˆ๋˜๊ณ , ์•ž์„  ํ•™์Šต์ž(say ์„ ๋ฐฐ)๊ฐ€ ์ž‘์„ฑํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์„ค๋ช… ์ค‘ ์–ด๋–ค ์„ค๋ช…์„ ํ›„๋ฐฐ์—๊ฒŒ ๋ณด์—ฌ์ค˜์•ผํ• ๊นŒ ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ›„๋ฐฐ๋“ค์˜ ํ‰๊ฐ€์™€, ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœํ•œ Multi-armed-bandit ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‚ด์šฉ์ด๋‹ค. ์ด ์™ธ์—๋„ ํฌ๋ผ์šฐ๋“œ์†Œ์‹ฑ ๋…ผ๋ฌธ๋“ค์„ ์ฝ๋‹ค๋ณด๋ฉด ์‚ฌ๋žŒ์˜ ํŒ๋‹จ์ด๋ž‘ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด (๋‚ด ๊ธฐ์ค€์œผ๋กœ) ๊ธฐ๋ฐœํ•˜๊ฒŒ ์—ฎ์—ฌ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.


TOROS: Python Framework for Recommender System

๋งํฌ ํŒŒ์ด์ฝ˜์—์„œ ๋ฐœํ‘œ๋œ ์นด์นด์˜ค์˜ ์ˆ˜๋งŽ์€ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ์ถ”์ฒœ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ. Python ์ด ๋Š๋ฆฌ๋ฉด C ๋ฅผ ๋ถ™์ด์ž, ๊ดœํžˆ GIL ๊ฐ€์ง€๊ณ  ๊ณ ๋ฏผํ•˜์ง€ ๋ง๊ณ  Job queue ๋ฅผ ์‹ฑ๊ธ€ ํ”„๋กœ์„ธ์Šค ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ Consume ํ•˜๊ฒŒ ํ•˜์ž(์ƒ๊ฐํ•ด๋ณด๋ฉด ์–ด์ฐจํ”ผ ์ปดํ“จํ„ฐ ์—ฌ๋Ÿฌ๋Œ€์—์„œ ๋Œ๋ฆด๊ฑด๋ฐ Thread-safe queue ๋ž€ ๋ง๋„ ๋ถ€์งˆ์—†๋‹ค. ๊ทธ๋ƒฅ ๋ฉ”์‹œ์ง€ํ๋ฅผ ์“ฐ์ž) ์บ์‰ฌ๋กœ Redis ๋Š” ๋น„์‹ธ๋‹ˆ๊นŒ RocksDB ๋ฅผ ์จ๋ด๋ผ ๋“ฑ์˜ ๊ธฐ์ˆ ์  ๋‚ด์šฉ๋„ ์žฌ๋ฐŒ์—ˆ์ง€๋งŒ, ์ค‘๊ฐ„์— ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์„ ์„ค๋ช…ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ์ถ”์ฒœ ๊ฒฐ๊ณผ๋ฅผ ์„œ๋น„์Šค์— ๋ฐ”๋กœ ์ ์šฉํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๊ธฐํš์ž๊ฐ€ ๋ช‡๋ช‡ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค๋Š” ๋‚ด์šฉ์ด ์ธ์ƒ๊นŠ์—ˆ๋‹ค. ๋‰ด์Šค๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์œผ๋กœ ์ด๊ฑฐ ์ถ”์ฒœํ•˜๋ฉด ๋ถ„๋ช…ํžˆ ํด๋ฆญํ•œ๋‹ค! ์‹ถ์€ ๊ธฐ์‚ฌ๋“ค์ด ์žˆ์ง€๋งŒ ์–ธ๋ก ์˜ ์ฑ…๋ฌด๋•Œ๋ฌธ์— ๊ทธ๋Ÿฌ๋ฉด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ๋“ค์ด ๋งŽ๋‹ค๊ณ . ์‚ฌ์‹ค ๋ฌด์ฒ™ ๋‹น์—ฐํ•œ ์–˜๊ธฐ์ธ๋ฐ ์‹ค์ œ๋กœ ๋“ค์œผ๋‹ˆ๊นŒ ๋Š๋‚Œ์ด ๋˜ ๋‹ฌ๋ž๋‹ค.


๋‹ท์ง€

gif ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŒŒ์ด์ฌ์— ๊ด€ํ•œ ์Šฌ๋ผ์ด๋“œ์ธ๋ฐ ์ค‘๊ฐ„์— ๋จธ์‹ ๋Ÿฌ๋‹์— ๋Œ€ํ•œ ์‚ฌ๋ก€๋กœ ํŒ€์›์ด Tensorflow ๋กœ ๊ฐ„๋‹จํžˆ ๋งŒ๋“  ์ด์•Œํ”ผํ•˜๊ธฐ ๋ชจ๋ธ์„ ์†Œ๊ฐœํ•˜์…จ๋‹ค. ์•ŒํŒŒ๊ณ ์•ผ ๊ตฌ๊ธ€์ด๋‹ˆ๊นŒโ€ฆํ•˜๊ณ  ๊ทธ๋ ‡๋‹ค ์น˜๋Š”๋ฐ ์ด ๊ฒŒ์ž„์€ ๊ฐœ์ธ์ด ๊ฐ„๋‹จํžˆ ๋งŒ๋“  ๊ฒƒ์ด๊ณ , ๋˜ ์ด ๋‹ท์ง€๋ผ๋Š” ๊ฒŒ์ž„์„ ์–ด๋ ธ์„ ๋•Œ ๊ณฐํ”Œ๋ ˆ์ด์–ด์— ๋“ค์–ด์žˆ๋Š” ์ด์Šคํ„ฐ์—๊ทธ๋กœ ์—ด์‹ฌํžˆ ํ–ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ์–ด์„œ ์ถฉ๊ฒฉ์ด ์ปธ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ์Šคํƒ€ 2 ๋ฅผ ์ธ๊ฐ„๋ณด๋‹ค ์ž˜ํ•˜๊ฒŒ ๋˜๋Š” ๋‚ ์ด์˜ค๋ฉด ๋ฐ”๋‘‘์ธ๋“ค์ด ๊ทธ๋žฌ๋“ฏ์ด ์ถฉ๊ฒฉ์ด ํด ๋“ฏํ•˜๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜๋‹ˆ ์•ŒํŒŒ๊ณ ์™€ ์ด์„ธ๋Œ์ด ๋Œ€๊ฒฐํ•  ๋•Œ ์‚ฌ๋žŒ๋“ค์˜ ์ถฉ๊ฒฉ์ด ์ปธ๋˜ ๊ฒƒ์ด ์ดํ•ด๊ฐ€ ๋˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.


Logojoy: AI-powered logo creator

HN ๋งํฌ ํ•ด์ปค๋‰ด์Šค์—์„œ 1000 ์ ์„ ๋„˜๋Š” ๊ฒฝ์šฐ๋Š” ๋ณ„๋กœ ์—†๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ์ด ๊ธฐ์‚ฌ๊ฐ€ ๊ทธ๋žฌ๋‹ค. 12 ๋…„ ๊ฒฝ๋ ฅ์˜ ๋””์ž์ด๋„ˆ ๊ฒธ ๊ฐœ๋ฐœ์ž, ํ•œ๊ตญ๋ง๋กœ ๋””๋ฐœ์ž๊ฐ€ ๋จธ์‹ ๋Ÿฌ๋‹์„ ๊ณต๋ถ€ํ•ด์„œ PHP + MySQL + jQuery ๋กœ ๋š๋”ฑ ๋งŒ๋“  ์„œ๋น„์Šค์ธ๋ฐ ์žฅ์‚ฌ๊ฐ€ ์ž˜๋œ๋‹ค๊ณ . ์‹ค์ œ ๋“ค์–ด๊ฐ€๋ด์„œ ๋ช‡ ๊ฐœ์˜ ๋กœ๊ณ ๋ฅผ ๋งŒ๋“ค์–ด ๋ดค๋Š”๋ฐ ํ€„๋ฆฌํ‹ฐ๊ฐ€ ์€๊ทผํžˆ ๊ดœ์ฐฎ๋‹ค.


์—ฌ๊ธฐ์„œ ์ปดํ“จํ„ฐ์™€ ์ธ๊ฐ„์˜ ๊ณต์ƒ์„ ์šด์šดํ•˜๋ ค๋Š” ์ƒ๊ฐ์€ ํ•˜๋‚˜๋„ ์—†๊ณ (์˜คํžˆ๋ ค ๊ทธ๋Ÿฌ๋ฉด ์•ฝ์žฅ์ˆ˜ ๋Š๋‚Œ์ด ๋‚œ๋‹ค), ์–ด๋Š์ƒˆ ์ปดํ“จํ„ฐ๊ฐ€ ์šฐ๋ฆฌ์˜ ํŒ๋‹จ์— ํ›… ๋“ค์–ด์˜จ ๊ฒƒ์— ๋Œ€ํ•ด ๋‚จ๊ธฐ๊ณ  ์‹ถ์—ˆ๋‹ค

Published Dec 1, 2016

If I keep marking the dots, someday they will ๐Ÿ”—๐Ÿ”—