»ù´¡¼Ü¹¹£¨Infrastructure£©Ïà±ÈÓÚ´óÊý¾Ý¡¢ÔƼÆËã¡¢Éî¶Èѧϰ£¬²¢²»ÊÇÒ»¸öºÜ»ðµÄ¸ÅÄÉõÖÁºÜ¶à³ÌÐòÔ±¾ÍÒµ¿ªÊ¼¾ÍÔÚÓÃ
MySQL¡¢Django¡¢Spring¡¢Hadoop À´¿ª·¢ÒµÎñÂß¼£¬¶øÃ»ÓÐÕæÕý²ÎÓë¹ý»ù´¡¼Ü¹¹ÏîÄ¿µÄ¿ª·¢¡£ÔÚ»úÆ÷ѧϰÁìÓòÒ²ÊÇÀàËÆµÄ£¬½èÖú¿ªÔ´µÄ
Caffe¡¢TensorFlow »òÕß AWS¡¢Google CloudML ¾Í¿ÉÒÔʵÏÖÖî¶àÒµÎñÓ¦Ó㬵«¿ò¼Ü»òƽ̨¿ÉÄÜÒòÐÐÒµµÄ·¢Õ¹¶øÁ÷ÐлòÕßË¥ÍË£¬¶ø×·Çó¸ß¿ÉÓᢸßÐÔÄÜ¡¢Áé»îÒ×ÓõĻù´¡¼Ü¹¹È´¼¸ºõÊÇÓÀºã²»±äµÄ¡£
Google µÄÍõÓ½¸ÕÀÏʦÔÚ¡¶ÎªÊ²Ã´ AI ¹¤³ÌʦҪ¶®Ò»µã¼Ü¹¹¡·Ìáµ½£¬Ñо¿Ôº²¢²»ÄÜÖ»¶®Ëã·¨£¬Ë㷨ʵÏÖ²»µÈÓÚÎÊÌâ½â¾ö£¬ÎÊÌâ½â¾ö²»µÈÓÚÏÖ³¡ÎÊÌâ½â¾ö£¬¼Ü¹¹ÖªÊ¶Êǹ¤³Ìʦ½øÐиßЧÍŶÓÐ×÷µÄ¹²Í¬ÓïÑÔ¡£Google
ÒÀ¿¿Ç¿´óµÄ»ù´¡¼Ü¹¹ÄÜÁ¦Èà AI Ñо¿ÁìÏÈÓÚÒµ½ç£¬¹¤Òµ½çµÄ·¢Õ¹Ò²ÈÃÉî¶Èѧϰ¡¢Auto Machine
Learning ³ÉΪ¿ÉÄÜ£¬Î´À´½«Óиü¶àÈ˹Ø×¢µ×²ãµÄ¼Ü¹¹ÓëÉè¼Æ¡£
Òò´Ë£¬½ñÌìµÄÖ÷Ìâ¾ÍÊǽéÉÜ»úÆ÷ѧϰµÄ»ù´¡¼Ü¹¹£¬°üÀ¨ÒÔÏµļ¸¸ö·½Ã棺
1.»ù´¡¼Ü¹¹µÄ·Ö²ãÉè¼Æ£»
2.»úÆ÷ѧϰµÄÊýÖµ¼ÆË㣻
3.TensorFlow µÄÖØÐÂʵÏÖ£»
4.·Ö²¼Ê½»úÆ÷ѧϰƽ̨µÄÉè¼Æ¡£
µÚÒ»²¿·Ö£¬»ù´¡¼Ü¹¹µÄ·Ö²ãÉè¼Æ
´ó¼ÒÏëÏóһϣ¬Èç¹ûÎÒÃÇÔÚ AWS ÉÏʹÓñàдһ¸ö TensorFlow Ó¦Ó㬾¿¾¹¾¹ýÁ˶àÉÙ²ãÓ¦ÓóéÏó£¿Ê×ÏÈ£¬ÎïÀí·þÎñÆ÷ºÍÍøÂç¿í´ø¾Í²»±ØËµÁË£¬Í¨¹ý
TCP/IP µÈÐÒéµÄ³éÏó£¬ÎÒÃÇÖ±½ÓÔÚ AWS ÐéÄâ»úÉϲÙ×÷¾ÍºÍ±¾µØ²Ù×÷ûÓÐÇø±ð¡£Æä´Î£¬²Ù×÷ϵͳºÍ±à³ÌÓïÑԵijéÏó£¬ÈÃÎÒÃÇ¿ÉÒÔ²»¸ÐÖªµ×²ãÄÚ´æÎïÀíµØÖ·ºÍ¶Áд´ÅÅ̵Ä
System call£¬¶øÖ»ÐèÒª×ñÑ Python ¹æ·¶±àд´úÂë¼´¿É¡£È»ºó£¬ÎÒÃÇʹÓÃÁË TensorFlow
¼ÆËã¿â£¬Êµ¼ÊÉÏÎÒÃÇÖ»Ðèµ÷ÓÃ×îÉϲãµÄ Python API£¬µ×²ãÊǾ¹ýÁË Protobuf ÐòÁл¯ºÍ
swig ½øÐпçÓïÑÔµ÷ÑУ¬È»ºóͨ¹ý gRPC »òÕß RDMA ½øÐÐͨÐÅ£¬¶ø×îµ×²ãÕâÊǵ÷Óà Eigen
»òÕß CUDA ¿â½øÐоØÕóÔËËã¡£
Òò´Ë£¬ÎªÁËʵÏÖÈí¼þ¼äµÄ½âñîºÍ³éÏó£¬ÏµÍ³¼Ü¹¹³£³£²ÉÓ÷ֲã¼Ü¹¹£¬Í¨¹ý·Ö²ãÀ´ÆÁ±Îµ×²ãʵÏÖϸ½Ú£¬¶øÃ¿Ò»¸öµ×²ã¶¼Ï൱ÓÚÉϲãÓ¦ÓõĻù´¡¼Ü¹¹¡£
ÄÇôÎÒÃÇÈçºÎÔÚÒ»¸ö·Ö²ãµÄÊÀ½çÖмзìÉú´æ£¿
ÓÐÈË¿ÉÄÜÈÏΪ£¬¼ÈÈ»ÓÐÈËʵÏÖÁ˲Ù×÷ϵͳºÍ±à³ÌÓïÑÔ£¬ÄÇôÎÒÃÇ»¹ÐèÒª¹Ø×¢µ×²ãµÄʵÏÖϸ½ÚÂð£¿Õâ¸öÎÊÌâûÓбê×¼´ð°¸£¬²»Í¬µÄÈËÔÚ²»Í¬µÄʱÆÚ»áÓв»Í¬µÄ¸ÐÊÜ£¬ÏÂÃæÎÒ¾ÙÁ½¸öÀý×Ó¡£
ÔÚ¡¶ÎªÁË 1% ÇéÐΣ¬ÎþÉü 99% ÇéÐÎϵÄÐÔÄÜ£ºÎÏÅ£°ãµÄ Python É±´¡·ÕâÆªÎÄÕÂÖУ¬×÷Õß½éÉÜÁË
Python ±ê×¼¿âÖÐ copy.deep_copy() µÄʵÏÖ£¬1% µÄÇé¿öÊÇÖ¸ÔÚÉ±´Ê±¶ÔÏóÄÚ²¿ÓпÉÄÜ´æÔÚÒýÓÃ×ÔÉíµÄ¶ÔÏó£¬Òò´ËÐèÒªÔÚ¿½±´Ê±¼Ç¼ËùÓп½±´¹ýµÄ¶ÔÏóÐÅÏ¢£¬¶ø
99% µÄ³¡¾°Ï¶ÔÏó²¢²»»áÖ±½ÓÓ¦ÓÃ×ÔÉí£¬ÎªÁ˼æÈÝ 100% µÄÇé¿öÕâ¸ö¿âËðʧÁË 6 ±¶ÒÔÉϵÄÐÔÄÜ¡£ÔÚÉîÈëÁ˽â
Python Ô´Âëºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ýʵÏÖÉ±´Ëã·¨À´½â¾öÉÏÊöÐÔÄÜÎÊÌ⣬´Ó¶øÓÅ»¯ÎÒÃǵÄÒµÎñÂß¼¡£
ÁíÒ»¸öÀý×ÓÊǰ¢ÀïµÄÑî¾üÀÏʦÔÚ Strata Data Conference ·ÖÏíµÄ¡¶Pluto:
Ò»¿î·Ö²¼Ê½Òì¹¹Éî¶Èѧϰ¿ò¼Ü¡·£¬ÀïÃæ½éÉܵ½»ùÓÚ TensorFlow µÄ control_dependencies
À´ÊµÏÖÀäÈÈÊý¾ÝÔÚ GPU ÏÔ´æÉϵÄÖÃÈëÖóö£¬´Ó¶øÔÚÓû§¼¸ºõ²»¸ÐÖªµÄÇé¿öϼ«´ó½µµÍÁËÏÔ´æµÄʹÓÃÁ¿¡£Á˽âÔ´ÂëµÄÈË¿ÉÄÜ·¢ÏÖÁË£¬TensorFlow
µÄ Dynamic computation graph£¬Ò²¾ÍÊÇ tensorflow/fold ÏîÄ¿£¬Ò²ÊÇ»ùÓÚ
control_dependencies ʵÏֵģ¬ÄÜÔÚÉùÃ÷ʽ»úÆ÷ѧϰ¿ò¼ÜÖÐʵÏÖ¶¯Ì¬¼ÆËãͼҲÊDz»Ì«ÈÝÒס£ÕâÁ½ÖÖʵÏÖ¶¼²»´æÔÚ
TensorFlow µÄ¹Ù·½ÎĵµÖУ¬Ö»ÓжÔÔ´ÂëÓÐ×ã¹»ÉîÈëµÄÁ˽â²Å¿ÉÄÜÔÚ¹¦ÄܺÍÐÔÄÜÉÏÓо޴óµÄÍ»ÆÆ£¬Òò´ËÈç¹ûÄãÊÇÆóÒµÄÚ
TensorFlow ¿ò¼ÜµÄ»ù´¡¼Ü¹¹Î¬»¤Õߣ¬Í»ÆÆ TensorFlow µÄ Python API ³éÏó²ãÊǷdz£ÓбØÒªµÄ¡£
´ó¼ÒÔÚÓ¦ÓûúÆ÷ѧϰʱ£¬²»Öª²»¾õÒѾʹÓÃÁ˺ܶà»ù´¡¼Ü¹¹µÄ³éÏ󣬯äÖÐ×îÖØÒªµÄιýÓÚ»úÆ÷ѧϰËã·¨±¾ÉíµÄʵÏÖ£¬½ÓÏÂÀ´ÎÒÃǽ«Í»ÆÆ³éÏó£¬ÉîÈëÁ˽âµ×²ãµÄʵÏÖÔÀí¡£
µÚ¶þ²¿·Ö£¬»úÆ÷ѧϰµÄÊýÖµ¼ÆËã
»úÆ÷ѧϰ£¬±¾ÖÊÉÏÊÇһϵÁеÄÊýÖµ¼ÆË㣬Òò´Ë TensorFlow ¶¨Î»Ò²²»ÊÇÒ»¸öÉî¶Èѧϰ¿â£¬¶øÊÇÒ»¸öÊýÖµ¼ÆËã¿â¡£µ±ÎÒÃÇÌýµ½ÁËÏãÅ©ìØ¡¢±´Ò¶Ë¹¡¢·´Ïò´«²¥ÕâЩ¸ÅÄîʱ£¬²¢²»ÐèÒªµ£ÐÄ£¬ÕâЩ¶¼ÊÇÊýѧ£¬¶øÇÒ¿ÉÒÔͨ¹ý¼ÆËã»ú±à³ÌʵÏֵġ£
½Ó´¥¹ý»úÆ÷ѧϰµÄ¶¼ÖªµÀ LR£¬Ò»°ãÊÇÖ¸Âß¼»Ø¹é£¨Logistic regression£©£¬Ò²¿ÉÒÔÖ¸ÏßÐԻع飨Linear
regression£©£¬¶øÇ°ÕßÊôÓÚ·ÖÀàËã·¨£¬ºóÕßÊôÓڻعéËã·¨¡£Á½ÖÖ LR ¶¼ÓÐһЩ¿ÉÒÔµ÷Óŵij¬²ÎÊý£¬ÀýÈçѵÁ·ÂÖÊý£¨Epoch
number£©¡¢Ñ§Ï°ÂÊ£¨Learning rate£©¡¢ÓÅ»¯Æ÷£¨Optimizer£©µÈ£¬Í¨¹ýʵÏÖÕâ¸öËã·¨¿ÉÒÔ°ïæÎÒÃÇÀí½âÆäÔÀíºÍµ÷Óż¼ÇÉ¡£
ÏÂÃæÊÇÒ»¸ö×î¼òµ¥µÄÏßÐԻعé Python ʵÏÖ£¬Ä£ÐÍÊǼòµ¥µÄ y = w * x + b¡£

´ÓÕâ¸öÀý×Ó´ó¼Ò¿ÉÒÔ¿´µ½£¬ÊµÏÖÒ»¸ö»úÆ÷ѧϰËã·¨²¢²»ÒÀÀµÓÚ Scikit-learn »òÕß TensorFlow
µÈÀà¿â£¬±¾ÖÊÉ϶¼ÊÇÊýÖµÔËË㣬²»Í¬ÓïÑÔʵÏÖ»áÓÐÐÔÄܲîÒì¶øÒÑ¡£Ï¸ÐĵÄÅóÓÑ¿ÉÄÜ·¢ÏÖ£¬ÎªÊ²Ã´ÕâÀï w µÄÌݶȣ¨Gradient£©ÊÇ
-2 * x * (y ¨C x * x ¨Cb)£¬¶ø b µÄÌݶÈÕâÊÇ -2 * (y ¨C w * x
- b)£¬ÈçºÎ±£Ö¤¾¹ý¼ÆËãºó Loss Ͻµ¶ø×¼È·ÂÊÉÏÉý£¿Õâ¾ÍÊÇÊýѧÉϱ£Ö¤ÁË£¬ÎÒÃǶ¨ÒåÁË Loss
º¯Êý£¨Mean square error£©Îª y ¨C w * x - b µÄƽ·½£¬Ò²¾ÍÊÇ˵Ԥ²âÖµÔ½½Ó½ü
y µÄ»° Loss ԽС£¬Ä¿±ê±ä³ÉÇó Loss º¯ÊýÔÚ w ºÍ b µÄÈÎÒâȡֵϵÄ×îСֵ£¬Òò´Ë¶Ô w
ºÍ b Ç󯫵¼ºó¾ÍµÃµ½ÉÏÃæÁ½Ìõ¹«Ê½¡£
Èç¹û¸ÐÐËȤ£¬²»·Á¿´Ò»ÏÂÏßÐԻعéÏ MSE Ç󯫵¼µÄÊýѧ¹«Ê½Ö¤Ã÷¡£

Âß¼»Ø¹éÓëÏßÐԻعéÀàËÆ£¬µ±ÓÉÓÚÊÇ·ÖÀàÎÊÌ⣬Òò´ËÐèÒª¶Ô w * x + b µÄÔ¤²â½á¹û½øÐйéÒ»»¯£¨Normalization£©£¬Ò»°ãʹÓÃ
Sigmoid ·½·¨£¬ÔÚ Python ÖпÉÒÔͨ¹ý 1.0 / (1 + numpy.exp(-x))
ÕâÖÖ·½Ê½ÊµÏÖ¡£ÓÉÓÚÔ¤²âÖµ²»Í¬£¬Loss º¯ÊýµÄ¶¨ÒåÒ²²»Í¬£¬Ç󯫵¼µÃµ½µÄÊýÖµ¼ÆË㹫ʽҲ²»Í¬£¬¸ÐÐËȤҲ¿ÉÒÔ¿´¿´ÎҵĹ«Ê½ÍƵ¼¡£


´ó¼Ò¿ÉÒÔ¿´µ½×îÖÕÇóµÃµÄÆ«µ¼ÊǷdz£¼òµ¥µÄ£¬ÓÃÈκαà³ÌÓïÑÔ¶¼¿ÉÒÔÇáÒ×ʵÏÖ¡£µ«ÎÒÃÇ×Ô¼ºµÄʵÏÖδ±ØÊÇ×î¸ßЧµÄ£¬ÎªÊ²Ã´²»Ö±½ÓÓÃ
Scikit-learn¡¢MXNet ÕâЩ¿ªÔ´¿âÒѾʵÏֺõÄËã·¨ÄØ£¿
ÎÒÃǶÔÕâ¸öËã·¨µÄÀí½â£¬ÆäʵÊÇÔÚ¹¤³ÌÉÏʹÓÃËüµÄÒ»¸öºÜÖØÒªµÄ»ù´¡¡£ÀýÈçÔÚÕæÊµµÄÒµÎñ³¡¾°Ï£¬Ò»¸öÑù±¾µÄÌØÕ÷¿ÉÄÜÓаÙÒÚÉõÖÁǧÒÚά£¬¶øÍ¨¹ýÇ°ÃæµÄËã·¨ÎÒÃÇÁ˽⵽£¬LR
Ä£Ð͵ĴóСºÍÑù±¾ÌØÕ÷µÄά¶ÈÊÇÏàͬµÄ£¬Ò²¾ÍÊÇ˵һ¸ö½ÓÊܰÙÒÚÎ¬ÌØÕ÷µÄÄ£ÐÍ£¬±¾Éí²ÎÊý¾ÍÓаÙÒÚ¸ö£¬Èç¹ûʹÓñê×¼µÄË«¾«¶È¸¡µãÊý±£´æÄ£ÐͲÎÊý£¬ÄÇô°ÙÒÚάµÄÄ£ÐͲÎÊý²¿·ÖÖÁÉÙÒª³¬¹ý
40G£¬ÄÇôǧÒÚάµÄÌØÕ÷¸üÊǵ¥»úËùÎÞ·¨¼ÓÔØµÄ¡£
Òò´Ë£¬ËäÈ» Scikit-learn ͨ¹ý native ½Ó¿ÚʵÏÖÁ˸ßÐÔÄÜµÄ LR Ëã·¨£¬µ«Ö»ÄÜÂú×ãÔÚµ¥»úÉÏѵÁ·£¬¶ø
MXNet ÓÉÓÚÔÉúûÓÐÖ§³Ö SpareTensor£¬¶ÔÓÚ³¬¸ßά¶ÈµÄÏ¡ÊèÊý¾ÝѵÁ·Ð§ÂÊÊǷdz£µÍµÄ£¬TensorFlow
±¾ÉíÖ§³Ö SpareTensor Ò²Ö§³ÖÄ£ÐͲ¢ÐУ¬¿ÉÒÔÖ§³Ö°ÙÒÚÎ¬ÌØÕ÷µÄÄ£ÐÍѵÁ·£¬µ«Ã»ÓÐÕë¶Ô LR ÓÅ»¯Ð§ÂÊÒ²²»ÊǺܸߡ£ÔÚÕâÖÖ³¡¾°Ï£¬µÚËÄ·¶Ê½»ùÓÚ
Parameter server ʵÏÖÁËÖ§³ÖÄ£ÐͲ¢ÐкÍÊý¾Ý²¢Ðеij¬¸ßά¶È¡¢¸ßÐÔÄÜ»úÆ÷ѧϰ¿â£¬ÔÚ´Ë»ù´¡ÉϵĴó¹æÄ£
LR¡¢GBDT µÈË㷨ѵÁ·Ð§ÂʲÅÄÜÂú×㹤³ÌÉϵÄÐèÇó¡£
»úÆ÷ѧϰ»¹ÓкܶàÓÐÒâ˼µÄËã·¨£¬ÀýÈç¾ö²ßÊ÷¡¢SVM¡¢Éñ¾ÍøÂç¡¢ÆÓËØ±´Ò¶Ë¹µÈµÈ£¬Ö»ÐèÒª²¿·ÖÊýѧÀíÂÛ»ù´¡¾Í¿ÉÒÔÇáÒ×ÔÚ¹¤³ÌÉÏʵÏÖ£¬ÓÉÓÚÆª·ù¹ØÏµÕâÀï¾Í²»ÔÚ׸ÊöÁË¡£Ç°ÃæÎÒÃǽéÉܵįäʵÊÇ»úÆ÷ѧϰÖеÄÃüÁîʽ£¨Imperative£©±à³Ì½Ó¿Ú£¬ÎÒÃǰÑÇ󯫵¼µÄ¹«Ê½ÌáÇ°ÍÆµ¼³öÀ´£¬È»ºóÏñÆäËû±à³Ì½Å±¾Ò»Ñù¸ù¾Ý´úÂëÄÇ˳ÐòÖ´ÐУ¬¶øÎÒÃÇÖªµÀ
TensorFlow ÌṩµÄÊÇÒ»ÖÖÉùÃ÷ʽ£¨Declarative£©µÄ±à³Ì½Ó¿Ú£¬Í¨¹ýÃèÊö¼ÆËãͼµÄ·½Ê½À´ÑÓºóºÍÓÅ»¯Ö´Ðйý³Ì£¬½ÓÏÂÀ´ÎÒÃǾͽéÉÜÕâ·½ÃæµÄÄÚÈÝ¡£
µÚÈý²¿·Ö£¬TensorFlow µÄÖØÐÂʵÏÖ
Ê×ÏÈ´ó¼Ò¿ÉÄÜÓÐÒÉÎÊ£¬ÎÒÃÇÐèÒªÐèÒªÖØÐÂʵÏÖ TensorFlow£¿TensorFlow Áé»îµÄ±à³Ì½Ó¿Ú¡¢»ùÓÚ
Eigen ºÍ CUDA µÄ¸ßÐÔÄܼÆËã¡¢Ö§³Ö·Ö²¼Ê½ºÍ Hadoop HDFS ¼¯³É£¬ÕâЩ¶¼ÊǸöÈËÉõÖÁÆóÒµºÜÄÑÍêȫ׷¸ÏʵÏֵ쬶øÇÒ¼´Ê¹ÐèÒªÃüÁîʽ±à³Ì½Ó¿ÚÎÒÃÇÒ²¿ÉÒÔʹÓÃ
MXNet£¬²¢Ã»ÓÐÇ¿ÐèÇóÐèÒªÒ»¸öÐ嵀 TensorFlow ¿ò¼Ü¡£
ÊÂʵÉÏ£¬ÎÒ¸öÈËÔÚѧϰ TensorFlow ¹ý³ÌÖУ¬Í¨¹ýʵÏÖÒ»¸ö TensorFlow-like
µÄÏîÄ¿£¬²»½ö¾ªÌ¾ÓëÆäÔ´ÂëºÍ½Ó¿ÚµÄÉè¼Æ¾«ÇÉ£¬Ò²¼ÓÉîÁ˶ÔÉùÃ÷ʽ±à³Ì¡¢DAG ʵÏÖ¡¢×Ô¶¯Ç󯫵¼¡¢·´Ïò´«²¥µÈ¸ÅÄîµÄÀí½â¡£ÉõÖÁÔÚ
Benchmark ²âÊÔÖз¢ÏÖ£¬´¿ Python ʵÏÖµÄÏîÄ¿ÔÚÏßÐԻعéÄ£ÐÍѵÁ·ÖÐ±È TensorFlow
¿ì 22 ±¶£¬µ±È»ÕâÊÇÔÚÌØ¶¨³¡¾°ÏÂѹ²âµÃµ½µÄ½á¹û£¬Ö÷ÒªÔÒòÊÇ TensorFlow ÖдæÔÚ Python
Óë C++ ¿çÓïÑÔµÄÇл»¿ªÏú¡£
Õâ¸öÏîÄ¿¾ÍÊÇ MiniFlow£¬Ò»¸öʵÏÖÁËÁ´Ê½·¨Ôò¡¢×Ô¶¯Ç󵼡¢Ö§³ÖÃüÁîʽ±à³ÌºÍÉùÃ÷ʽ±à³ÌµÄÊýÖµ¼ÆËã¿â£¬²¢ÇÒ¼æÈÝ
TensorFlow Python API¡£¸ÐÐËȤ¿ÉÒÔÔÚÕâ¸öµØÖ·²ÎÓ뿪·¢£¬ÏÂÃæÊÇÁ½Õß API ¶Ô±Èͼ¡£

Á˽â TensorFlow ºÍ MXNet£¨»òÕß NNVM£©Ô´ÂëµÄÅóÓÑ¿ÉÄÜÖªµÀ£¬Á½Õß¶¼³éÏóÁË Op¡¢Graph¡¢Placeholer¡¢Variable
µÈ¸ÅÄͨ¹ý DAG µÄ·½Ê½ÃèÊöÄ£Ð͵ļÆËãÁ÷ͼ£¬Òò´ËÎÒÃÇÒ²ÐèҪʵÏÖÀàËÆµÄ¹¦Äܽӿڡ£
ÓëÇ°ÃæµÄ LR ´úÂ벻ͬ£¬»ùÓÚ Graph µÄÄ£ÐÍÔÊÐíÓû§×Ô¶¨Òå Loss º¯Êý£¬Ò²¾ÍÊÇÓû§¿ÉÒÔʹÓô«Í³µÄ
Mean square error£¬Ò²¿ÉÒÔ×Ô¶¨ÒåÒ»¸öÈÎÒâµÄÊýѧ¹«Ê½×÷Ϊ Loss º¯Êý£¬ÕâÒªÇó¿ò¼Ü±¾ÉíÄܹ»ÊµÏÖ×Ô¶¯Ç󵼵ŦÄÜ£¬¶ø²»ÊÇÎÒÃǸù¾Ý
Loss º¯ÊýÔ¤ÏÈʵÏÖÁ˵¼ÊýµÄ¼ÆË㷽ʽ¡£
ÄÇôÓû§¿ÉÒÔ¶¨ÒåµÄ×îС²Ù×÷£¬Ò²¾ÍÊÇ Op£¬ÐèҪƽ̨ʵÏÖ»ù±¾µÄËã×Ó£¬ÀýÈç ConstantOp¡¢AddOp¡¢MultipleOp
µÈ£¬¶øÇÒÓû§ÊµÏÖ×Ô¶¨ÒåËã×Óʱ¿ÉÒÔ¼ÓÈë×Ô¶¯Çóµ¼µÄÁ÷³ÌÖУ¬²¢²»Ó°Ïì¿ò¼Ü±¾ÉíµÄѵÁ·Á÷³Ì¡£²Î¿¼ TensorFlow
µÄ Python Ô´Â룬ÏÂÃæÎÒÃǶ¨ÒåÁË Op µÄ»ùÀ࣬ËùÓÐµÄ Op ¶¼Ó¦¸ÃʵÏÖ forward()
ºÍ grad() ÒÔ±ãÓÚÄ£ÐÍѵÁ·Ê±×Ô¶¯Çóµ¼£¬¶øÇÒͨ¹ýÖØÔØ Python ²Ù×÷·û¿ÉÒÔΪ¿ª·¢ÕßÌṩ¸ü±ãÀûµÄʹÓýӿڡ£

ÄÇô¶ÔÓÚ³£Á¿£¨ConstantOp£©ºÍ±äÁ¿£¨VariableOp£©£¬ËûÃǵÄÕýÏòÔËËã¾ÍÊǵõ½µÄÊDZ¾ÉíµÄÖµ£¬¶øÇóµ¼Ê±³£Á¿µÄµ¼ÊýΪ
0£¬Ç󯫵¼µÄ±äÁ¿µ¼ÊýΪ 1£¬ÆäËû±äÁ¿Ò²Îª 0£¬¾ßÌå´úÂëÈçÏ¡£

Æäʵ¸üÖØÒªµÄÊÇ£¬ÎÒÃÇÐèҪʵÏÖ¼Ó£¨AddOp£©¡¢¼õ£¨MinusOp£©¡¢³Ë£¨MultipleOp£©¡¢³ý£¨DivideOp£©¡¢Æ½·½£¨PowerOp£©µÈËã×ÓµÄÕýÏòÔËËãºÍ·´ÏòÔËËãÂß¼£¬È»ºó¸ù¾ÝÁ´Ê½·¨Ôò£¬Èκθ´ÔÓµÄÊýѧ¹«Ê½Çóµ¼¶¼¿ÉÒÔ¼ò»¯³ÉÕâЩ»ù±¾Ëã×ÓµÄÇ󵼡£
ÀýÈç¼Ó·¨ºÍ¼õ·¨£¬ÎÒÃÇÖªµÀÁ½¸öÊý¼Ó·¨µÄµ¼ÊýµÈÓÚµ¼ÊýµÄ¼Ó·¨£¬Òò´Ë¸ù¾Ý´ËÊýѧÔÀí£¬ÎÒÃÇ¿ÉÒÔºÜÈÝÒ×ʵÏÖ AddOp£¬¶ø
MinusOp ʵÏÖÀàËÆ¾Í²»×¸ÊöÁË¡£

¶ø³Ë·¨ºÍ³ý·¨Ïà¶Ô¸´ÔÓ£¬ÏÔÈ»Á½¸öÊý³Ë·¨µÄµ¼Êý²»µÈÓÚµ¼ÊýµÄ³Ë·¨£¬ÀýÈç x ºÍ x µÄƽ·½£¬Ïȵ¼ÊýºóÏà³ËµÃµ½
2x£¬ÏÈÏà³Ëºóµ¼ÊýµÃµ½ 3 ±¶ x µÄƽ·½¡£Òò´ËÕâÊÇÐèҪʹÓóËÊý·¨Ôò£¬»ù±¾¹«Ê½ÊÇ£¬¶ø´úÂëʵÏÖÈçÏ¡£

³ý·¨ºÍƽ·½µÄÇóµ¼·½Ê½Ò²ÊÇÀàËÆµÄ£¬ÒòΪÊýѧÉÏÒѾ֤Ã÷£¬ËùÒÔÖ»ÐèÒª±àÂëʵÏÖ»ù±¾µÄÕýÏòºÍ·´ÏòÔËËã¼´¿É¡£ÓÉÓÚÆª·ùÓÐÏÞ£¬ÕâÀï²»ÔÙϸÖ½éÉÜ
MiniFlow µÄÔ´ÂëʵÏÖÁË£¬¸ÐÐËȤ¿ÉÒÔͨ¹ýÉÏÃæµÄ Github Á´½ÓÕÒµ½ÍêÕûµÄÔ´ÂëʵÏÖ£¬ÏÂÃæÔÙÌṩʹÓÃÏàͬ
API ½Ó¿ÚʵÏÖµÄÄ£ÐÍÐÔÄܲâÊÔ½á¹û£¬¶ÔÓÚСÅúÁ¿Êý¾Ý´¦Àí¡¢ÐèҪƵ·±Çл» Python/C++ ÔËÐл·¾³µÄ³¡¾°ÏÂ
MiniFlow »áÓиüºÃµÄÐÔÄܱíÏÖ¡£

Ç°Ãæ½éÉÜÁË»úÆ÷ѧϰËã·¨ºÍÉî¶ÈѧϰÀà¿âµÄʵÏÖ£¬²¢²»ÊÇËùÓÐÈ˶¼ÓÐÄÜÁ¦È¥ÖØÐ´»òÕßÓÅ»¯Õⲿ·Ö»ù´¡¼Ü¹¹µÄ£¬ºÜ¶àʱºòÎÒÃǶ¼Ö»ÊÇÕâЩËã·¨µÄʹÓÃÕߣ¬µ«´ÓÁíÒ»¸ö½Ç¶È£¬ÎÒÃǾÍÐèҪά»¤Ò»¸ö¸ß¿ÉÓõļÆËãÆ½Ì¨À´×ö»úÆ÷ѧϰµÄѵÁ·ºÍÔ¤²â£¬ÏÂÃæ½«´ÓÕâ·½Ãæ½éÉÜÈçºÎ´òÔì·Ö²¼Ê½»úÆ÷ѧϰƽ̨¡£
µÚËIJ¿·Ö£¬·Ö²¼Ê½»úÆ÷ѧϰƽ̨µÄÉè¼Æ
Ëæ×Å´óÊý¾ÝºÍÔÆ¼ÆËãµÄ·¢Õ¹£¬ÊµÏÖÒ»¸ö¸ß¿ÉÓᢷֲ¼Ê½µÄ»úÆ÷ѧϰƽ̨³ÉΪһ¸ö»ù±¾ÐèÇó¡£ÎÞÂÛÊÇ Caffe¡¢TensorFlow£¬»¹ÊÇÎÒÃÇ×ÔÑеĸßÐÔÄÜ»úÆ÷ѧϰ¿â£¬¶¼Ö»Êǽâ¾öÊýÖµ¼ÆËã¡¢Ë㷨ʵÏÖÒÔ¼°Ä£ÐÍѵÁ·µÄÎÊÌ⣬¶ÔÓÚÈÎÎñµÄ¸ôÀë¡¢µ÷¶È¡¢Failover
¶¼ÐèÒªÉÏ²ãÆ½Ì¨ÊµÏÖ¡£
ÄÇôÉè¼ÆÒ»¸öÕë¶Ô»úÆ÷ѧϰȫÁ÷³ÌµÄ»ù´¡¼Ü¹¹Æ½Ì¨£¬ÐèÒªº¸ÇÄÄЩ¹¦ÄÜÄØ£¿
Ê×ÏÈ£¬±ØÐëʵÏÖ×ÊÔ´¸ôÀë¡£ÔÚÒ»¸ö¹²Ïíµ×²ã¼ÆËã×ÊÔ´µÄ¼¯ÈºÖУ¬Óû§Ìá½»µÄѵÁ·ÈÎÎñ²»Ó¦¸ÃÊܵ½ÆäËûÈÎÎñµÄÓ°Ï죬¾¡¿ÉÄܱ£Ö¤
CPU¡¢ÄÚ´æ¡¢GPU µÈ×ÊÔ´¸ôÀë¡£Èç¹ûʹÓà Hadoop »ò Spark ¼¯Èº£¬Ä¬ÈϾͻáÔÚÈÎÎñ½ø³ÌÉϹÒÔØ
cgroups£¬±£Ö¤ CPU ºÍÄÚ´æµÄ¸ôÀ룬¶øËæ×Å Docker µÈÈÝÆ÷¼¼ÊõµÄ³ÉÊ죬ÎÒÃÇÒ²¿ÉÒÔʹÓÃ
Kubernetes¡¢Mesos µÈÏîÄ¿À´Æô¶¯ºÍ¹ÜÀíÓû§ÊµÏÖµÄÄ£ÐÍѵÁ·ÈÎÎñ¡£
Æä´Î£¬ÊµÏÖ×ÊÔ´µ÷¶ÈºÍ¹²Ïí¡£Ëæ×ÅͨÓüÆËãµÄ GPU Á÷ÐУ¬Ä¿Ç°Ö§³Ö GPU µ÷¶ÈµÄ±àÅŹ¤¾ßÒ²Ô½À´Ô½¶à£¬¶ø²¿·ÖÆóÒµÄÚ»¹´æÔÚ×Å
GPU ר¿¨×¨ÓõÄÇé¿ö£¬ÎÞ·¨ÊµÏÖ×ÊÔ´µÄ¶¯Ì¬µ÷¶ÈºÍ¹²Ïí£¬Õâ±ØÈ»µ¼Ö¼ÆËã×ÊÔ´µÄÑÏÖØÀË·Ñ¡£ÔÚÉè¼Æ»úÆ÷ѧϰƽ̨ʱ£¬ÐèÒª¾¡¿ÉÄÜ¿¼ÂÇͨÓõļ¯Èº¹²Ïí³¡¾°£¬ÀýÈçͬʱ֧³ÖÄ£ÐÍѵÁ·¡¢Ä£ÐÍ´æ´¢ÒÔ¼°Ä£ÐÍ·þÎñµÈ¹¦ÄÜ£¬¿ÉÒÔ¶Ô±êµÄµäÀý¾ÍÊÇ
Google Borg ϵͳ¡£
È»ºó£¬Æ½Ì¨ÐèÒªÓÐÁé»îµÄ¼æÈÝÐÔ¡£Ä¿Ç°»úÆ÷ѧϰҵÎñ·¢Õ¹Ñ¸ËÙ£¬Õë¶Ô²»Í¬³¡¾°µÄ»úÆ÷ѧϰ¿ò¼ÜÒ²Ô½À´Ô½¶à£¬Áé»îµÄƽ̨¼Ü¹¹¿ÉÒÔ¼æÈݼ¸ºõËùÓÐÖ÷Á÷µÄÓ¦Óÿò¼Ü£¬±ÜÃâ»ù´¡¼Ü¹¹ÒòΪҵÎñµÄ·¢Õ¹¶øÆµ·±±ä»¯¡£Ä¿Ç°
Docker ÊÇÒ»Öַdz£ºÏÊʵÄÈÝÆ÷¸ñʽ¹æ·¶£¬Í¨¹ý±àд Dockerfile ¾Í¿ÉÒÔÃèÊö¿ò¼ÜµÄÔËÐл·¾³ºÍϵͳÒÀÀµ£¬ÔÚ´Ë»ù´¡ÉÏÎÒÃÇ¿ÉÒÔÔÚÆ½Ì¨ÉÏʵÏÖÁË
TensorFlow¡¢MXNet¡¢Theano¡¢CNTK¡¢Torch¡¢Caffe¡¢Keras¡¢Scikit-learn¡¢XGBoost¡¢PaddlePaddle¡¢Gym¡¢Neon¡¢Chainer¡¢PyTorch¡¢Deeplearning4j¡¢Lasagne¡¢Dsstne¡¢H2O¡¢GraphLab
ÒÔ¼° MiniFlow µÈ¿ò¼ÜµÄ¼¯³É¡£
×îºó£¬ÐèҪʵÏÖ»úÆ÷ѧϰ³¡¾°Ï嵀 API ·þÎñ¡£Õë¶Ô»úÆ÷ѧϰµÄÄ£ÐÍ¿ª·¢¡¢Ä£ÐÍѵÁ·ºÍÄ£ÐÍ·þÎñÈý¸öÖ÷ÒªÁ÷³Ì£¬ÎÒÃÇ¿ÉÒÔ¶¨ÒåÌύѵÁ·ÈÎÎñ¡¢´´½¨¿ª·¢»·¾³¡¢Æô¶¯Ä£ÐÍ·þÎñ¡¢Ìá½»ÀëÏßÔ¤²âÈÎÎñµÈ
API£¬ÓÃÊìϤµÄ±à³ÌÓïÑÔÀ´ÊµÏÖ Web service ½Ó¿Ú¡£ÒªÊµÏÖÒ»¸ö Google-like µÄÔÆÉî¶Èѧϰƽ̨£¬´ó¼Ò¿ÉÒԲο¼ÏÂÃæÕâÈý¸ö²½Öè¡£

µ±È»£¬ÒªÊµÏÖÒ»¸öº¸ÇÊý¾ÝÒýÈë¡¢Êý¾Ý´¦Àí¡¢ÌØÕ÷¹¤³ÌÒÔ¼°Ä£ÐÍÆÀ¹À¹¦ÄܵĻúÆ÷ѧϰƽ̨£¬ÎÒÃÇ»¹ÐèÒª¼¯³É HDFS¡¢Spark¡¢Hive
µÈ´óÊý¾Ý´¦Àí¹¤¾ß£¬ÊµÏÖÀàËÆ Azkaban¡¢Oozie µÄ¹¤×÷Á÷¹ÜÀí¹¤¾ß£¬ÔÚÒ×ÓÃÐÔ¡¢µÍÃż÷·½Ãæ×ö¸ü¶àµÄ¹¤×÷¡£
×ܽá
×îºó×ܽáһϣ¬»úÆ÷ѧϰµÄ»ù´¡¼Ü¹¹°üº¬ÁË»úÆ÷ѧϰËã·¨¡¢»úÆ÷ѧϰÀà¿âÒÔ¼°»úÆ÷ѧϰƽ̨µÈ¶à¸ö²ã´ÎµÄÄÚÈÝ¡£¸ù¾ÝÒµÎñµÄÐèÇó£¬ÎÒÃÇ¿ÉÒÔÑ¡ÔñÌØ¶¨µÄÁìÓò½øÐÐÉîÈëÑо¿ºÍ¶þ´Î¿ª·¢£¬ÀûÓÃÂÖ×Ӻ͸ù¾ÝÐèÇó¸ÄÔìÂÖ×ÓͬÑùÖØÒª¡£
ÔÚ»úÆ÷ѧϰÓëÈ˹¤ÖÇÄܷdz£Á÷ÐеĽñÌ죬ϣÍû´ó¼ÒÒ²¿ÉÒÔÖØÊӵײã»ù´¡¼Ü¹¹£¬Ëã·¨Ñо¿Ô±¿ÉÒÔ Àí½â¸ü¶à¹¤³ÌµÄÉè¼ÆÓëʵÏÖ£¬¶øÑз¢¹¤³Ìʦ¿ÉÒÔÁ˽â¸ü¶àµÄËã·¨ÔÀíÓëÓÅ»¯£¬ÔÚºÏÊʵĻù´¡¼Ü¹¹Æ½Ì¨ÉÏÈûúÆ÷ѧϰ·¢»Ó¸ü´óµÄÐ§Òæ£¬ÕæÕýÓ¦ÓõÄʵ¼Ê³¡¾°ÖС£
½ñÌì·ÖÏíµÄÄÚÈݵ½ÕâÀïÁË£¬·Ç³£¸Ðл´ó¼Ò :)
´ðÒÉ»·½Ú
Q 1£ºÀÏʦÄúºÃ! ÎÒµÄÎÊÌâÊÇ »ù´¡¼Ü¹¹ÔÚ¾ßÌåÂ䵨·½Ãæ ÓÐʲô½¨Ò飿±ÈÈçÔÚÔÆÉϲ¿ÊðºÍÐéÄ⻯ÈÝÆ÷¼¼ÊõµÄʹÓã¿
³ÂµÏºÀ£º»ù´¡¼Ü¹¹Æäʵ°üº¬¶à²ã´ÎµÄÄÚÈÝ£¬Èç¹ûÔÚÔÆ¶Ë²¿Ê𣬿ÉÒÔ¿¼ÂÇʹÓà AWS »òÕß Google CloudML
µÈ»ù´¡·þÎñ£¬Ò²¿ÉÒÔ»ùÓÚ Kubernetes¡¢TensorFlow µÈ¿ªÔ´ÏîÄ¿ÕâÄÚ²¿´î½¨»úÆ÷ѧϰƽ̨£¬²Î¿¼Ç°ÃæÍ¼Æ¬Ìáµ½µÄÈý¸ö²½Ö裬ֻÐèҪʵÏÖ¼òµ¥µÄ
API ·þÎñºÍÈÝÆ÷µ÷¶ÈÈÎÎñ¼´¿É¡£
Q 2£ºÀÏʦºÃ£¬½Ó´¥£¨»úÆ÷ѧϰ£©Ö®Ç°ÐèÒªÉîÈëѧϰ spark Âð£¿
³ÂµÏºÀ£º»úÆ÷ѧϰËã·¨±¾Éí²¢ÒÀÀµ Spark£¬ÎÒÃÇ¿ÉÒÔ×Ô¼ºÊµÏÖ»ù±¾µÄËã·¨£¬Ò²¿ÉÒÔʹÓà Scikit-learn¡¢TensorFlow
µÈ¿ªÔ´¿â¡£µ±È»Ôڴ󲿷ÖÒµÎñ³¡¾°ÖУ¬ÎÒÃÇ»¹ÊÇÐèÒª Hadoop¡¢Spark µÈ´óÊý¾Ý¿ò¼Ü½øÐÐÊý¾Ý´¦Àí¡¢ÌØÕ÷³éÈ¡µÈ¹¦ÄÜ£¬Òò´ËÕÆÎÕÒ»¶¨µÄ´óÊý¾Ý´¦ÀíÄÜÁ¦Ò²ÊǺÜÓмÛÖµµÄ¡£
Q 3£ºÎÒÓиöÎÊÌ⣬ÔõÑù×öµ½ÏßÏÂÄ£ÐÍЧ¹ûÆÀ¹ÀµÄ×Ô¶¯»¯£¿
³ÂµÏºÀ£ºÕâÊǸöºÃÎÊÌ⣬ÔÚÏßÏÂÎÒÃÇÒ»°ã»á¶Ô²âÊÔÊý¾Ý¼¯¼ÆËã AUC µÈÀëÏßÖ¸±ê£¬À´Ô¤¹ÀÄ£Ð͵ÄЧ¹û£¬×Ô¶¯»¯·½ÃæÎÒÃÇÓÐÒ»Ì××ÔѧϰµÄÁ÷³Ì£¬´ó¼ÒÒ²¿ÉÒÔʹÓÃ
Crontab »òÕß Azkaban µÈÈÎÎñ¹ÜÀí¹¤¾ß£¬¶ÔÓÚеIJâÊÔ¼¯½øÐÐÄ£ÐÍÆÀ¹À£¬ÕâÊÇ´¿¹¤³ÌµÄÎÊÌâÁË¿ÉÒÔ½áºÏÒÑÓеķþÎñ¼Ü¹¹À´ÊµÏÖ¡£
Q 4£ºÎÄÖнéÉܵĻúÆ÷ѧϰ»ù´¡¼Ü¹¹Æ½Ì¨µÄ´î½¨Ë¼Â·£¬ÊÇ·ñ¾ÍÊÇÏÈ֪ƽ̨µÄ¼Ü¹¹Ë¼Â·£¿ÏÈ֪ƽ̨ÊÇ SaaS
ʽµÄ·þÎñƽ̨£¬Èç¹ûÎÒÊÇÏë´î½¨¹«Ë¾ÄÚ²¿µÄ»úÆ÷ѧϰ¼Ü¹¹Æ½Ì¨£¬Ë¼Â·Ò²ÊǸúÎÄÖÐÃèÊöÒ»Ñù»¹ÊÇ˵ÓÐʲô²îÒ죿
³ÂµÏºÀ£ºÏÈ֪ƽ̨µÄµ×²ãÒ²ÊÇ·Ö²¼Ê½¡¢¸ß¿ÉÓõĻù´¡¼Ü¹¹£¬Ò²ÊÇÕâ¸ö˼·£¬²»¹ýÔÚÒ×ÓÃÐÔ¡¢µÍÃż÷·½Ãæ×öÁ˸ü¶àµÄ¹¤×÷¡£Ä¿Ç°ÏÈÖªÌṩ
SaaS ¹«ÓÐÔÆ°æ±¾¿ÉÒԺܷ½±ãµÃ×¢²áʹÓã¬Èç¹ûÊÇÆóÒµÄÚ²¿´î½¨£¬ÏÈ֪ƽ̨ҲÓÐÆóÒµ°æË½ÓÐÔÆ¿ÉÒÔµ¥¶À²¿Êð£¬Èç¹ûÐèÒª×Ô¼ºÎ¬»¤ºÍ´î½¨»úÆ÷ѧϰƽ̨£¬¿ÉÒÔ¿¼ÂÇ»ùÓÚ
Kubernetes µÄÈÝÆ÷µ÷¶È¼¯Èº£¬¿ÉÒÔͨ¹ý¹ÜÀí CPU¡¢GPU µÈÒì¹¹×ÊÔ´£¬Í¨¹ýÖÆ×÷ Docker
¾µÏñµÄ·½Ê½À´Ö§³Ö¸÷ÖÖ»úÆ÷ѧϰ¿ò¼ÜµÄʹÓ㬺ÍÇ°ÃæÌáµ½µÄ˼·ÀàËÆ¡£
Q 5£º¶ÔÓÚÒ»°ãµÄ¹«Ë¾Êý¾Ý¹æÄ£Ã»ÄÇô´ó£¬ÊDz»ÊÇÒ»¸ö¸ßÅäµÄ»úÆ÷ +4 ¸ö GPU ¿¨£¬°²×°Ò»¸ö tensorflow
¾Í¿ÉÒÔÁË£¿
³ÂµÏºÀ£º¶ÔÓÚ¹æÄ£±È½ÏСµÄ¹«Ë¾£¬¿ÉÒÔÖ±½ÓʹÓõ¥»ú¶à¿¨µÄ·½Ê½£¬°üÀ¨ BAT µÈ´óÆóÒµÓеIJ¿ÃÅÒ²ÊÇÖ±½ÓʹÓÃÂã»úµÄ£¬µ«Âã»ú´øÀ´µÄÎÊÌâÊÇûÓÐ×ÊÔ´¹ÜÀíºÍÈÎÎñµ÷¶È£¬Ê¹ÓÃÕßÖ®¼äÐèÒª»¥ÏàÔ¼¶¨Ê¹ÓÃʱ¼äºÍʹÓõÄ×ÊÔ´£¬ÔÚÒ»¶¨³Ì¶ÈÉÏÔì³É×ÊÔ´ÀË·Ñ£¬Èç¹û¹æÄ£´óÁ˽¨ÒéʹÓÃͳһµÄ¼¯Èºµ÷¶È·½Ê½£¬¿ÉÒÔ±£Ö¤ÈÎÎñ¼äµÄ×ÊÔ´¸ôÀëºÍÕý³£Ö´ÐС£
Q 6£ºÕýÈçÀÏʦÔÚȺÀïÉÏ¿ÎÌáµÄ£¬ÔÚ¹¤³ÌÉÏ£¬ÔÚÕæÊµµÄÒµÎñ³¡¾°Ï£¬Ò»¸öÑù±¾µÄÌØÕ÷ÊǰÙÒÚÉõÖÁǧÒÚ£¬ÔÚÏßϵÄʱºò£¬ÑµÁ·ºÃÒ»¸öÄ£ÐÍ£¬²¿ÊðÔÚ·þÎñÆ÷¶Ë¡£ÄÇô£¬ÔÚÏß·þÎñ½×¶Î£¬Ò²¾ÍÊÇÔÚÏß·þÎñµÄÔ¤²â½×¶ÎµÄʱºò£¬ÓÉÓÚ·¢ÆðÔ¤²âÇëÇóµÄÑù±¾ÌØÕ÷Ò²±È½Ï´ó£¬ÄÇôÇëÎÊÔÚʵ¼Ê¹¤³ÌÖÐÕâЩÊý¾ÝÊÇÔõô´æ´¢µÄ£¿
³ÂµÏºÀ£ºÔÚÒ»¸ö°ÙÒÚÉõÖÁÊÇǧÒÚάµÄÄ£ÐÍÉÏ£¬ÎÒÃÇÒ»°ãͨ¹ý·Ö shard µÄ·½Ê½À´Çз֣¬Ä£Ðͱ¾Éí¿ÉÒÔͨ¹ý¶à¸ö
Parameter server ʵÀýÀ´±£´æ£¬¶ø¿Í»§¶Ë·¢ËÍÔ¤²âÇëÇóʱ£¬ÓÉÓÚÌØÕ÷ÊǷdz£Ï¡ÊèµÄ£¬Êµ¼ÊÓÐÖµµÄÊý¾Ý·Ç³£ÉÙ£¬Òò´Ë²¢²»ÐèÒª°Ñ´ó²¿·ÖÁãÖµÊý¾ÝÒ²ÇëÇóµ½·þÎñ¶Ë£¬¾ßÌå¸ñʽ´ó¼ÒÒ²¿ÉÒԲο¼ÏÂ
TensorFlow ÖÐ SparseTensor µÄʵÏÖ¡£
Q 7£ºÇëÎÊÏÈ֪Ŀǰƽ̨µÄËã·¨ÊÇ»ùÓÚ¿ªÔ´Ëã·¨·â×°»¹ÊÇ×Ô¼ºÊµÏÖµÄÄØ£¿
³ÂµÏºÀ£ºÄ¿Ç°ÏÈ֪ƽ̨Ö÷ÒªÕë¶ÔÕæÊµµÄÓ¦Óó¡¾°£¬×ÔÖ÷Ñз¢µÄ´ó¹æÄ£ LR¡¢GBDT¡¢HE-TreeNet¡¢LFC¡¢SVM¡¢Feature-go
µÈËã·¨¶¼¼¯³Éµ½ÏÈ֪ƽ̨ÉÏ£¬µ±È»Æ½Ì¨Ò²Ö§³Ö Spark MLlib¡¢TensorFlow µÈ¿ªÔ´¿ò¼ÜµÄË㷨ʵÏÖ¡£
|