小孩子体型偏瘦瘦,175cm,123斤,求合理的增肌计划,外加胸肌上沿怎么练?

&img src=&/v2-2cdb380e7e04af8cdaf5b9_b.jpg& data-rawwidth=&4231& data-rawheight=&2816& class=&origin_image zh-lightbox-thumb& width=&4231& data-original=&/v2-2cdb380e7e04af8cdaf5b9_r.jpg&&&h2&&b&&i&活动已结束&/i&&/b&&/h2&&p&PDF与回顾视频&&&a href=&/?target=http%3A//mp./s%3F__biz%3DMzAxMzc2NDAxOQ%3D%3D%26mid%3D%26idx%3D1%26sn%3D7e769e931e03524cdf13ddf4dd0e1f53%26chksm%3De7e91fa33dcacd9ef41f9d95e02c49a1bd2498f1dee3df7ddrd& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&干货 | Kaggle全球文本匹配竞赛华人第1名团队:深度学习与特征工程&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&文本匹配&/b&是自然语言处理中的重要基础问题,自然语言处理领域的许多任务都可以抽象为文本匹配问题。在上个月刚刚落下帷幕的&b&Kaggle:Quora Question Pairs全球文本匹配算法竞赛&/b&中,由中科院网络数据重点实验室庞亮、范意兴、侯建鹏、岳新玉、牛国成5位同学组成的YesOfCourse团队获得了全球第4名、华人参赛团队第1名的好成绩。&/p&&p&&br&&/p&&img src=&/v2-9bbcd90a0efb5826ecc961_b.jpg& data-rawwidth=&3264& data-rawheight=&2448& class=&origin_image zh-lightbox-thumb& width=&3264& data-original=&/v2-9bbcd90a0efb5826ecc961_r.jpg&&&p&从左至右:牛国成、庞亮、侯建鹏、范意兴、岳新玉&/p&&p&&br&&/p&&p&本次竞赛由全球最大的在线知识平台Quora主办,Kaggle竞赛平台承办。Quora为本次比赛提供了百万级别的带有标签信息的文本匹配数据集,以期望参赛选手能够准确的判断一组问题是否具有相同的语义,从而帮助Quora用户更有效地从海量数据中找到所需要的问题。&/p&&p&&br&&/p&&p&于是,7月13日(本周四)晚,在将门技术社群,我们很开心邀请到这几位同学,为大家分享这次&b&文本匹配竞赛的解决方案。&/b&&/p&&p&&br&&/p&&p&&br&&/p&&h2&&b&活动信息&/b& &/h2&&p&&b&▼&/b&&/p&&p&&br&&/p&&p&主题:&b&文本匹配问题中的深度学习与特征工程&/b&&/p&&p&时间:7月13日(周四)20:00&/p&&p&地点:将门创投斗鱼直播间&/p&&p&&br&&/p&&p&&br&&/p&&h2&&b&分享提纲&/b&&/h2&&p&&b&▼&/b&&/p&&p&&br&&/p&&p&本次分享的内容主要是中科院YesOfCause团队在Kaggle文本竞赛中的解决方案,即&b&如何判断一组问题是否具有相同的语义,从而帮助问答平台更准确的从海量问答数据中找到相同的问题并获取答案。&/b&&/p&&p&&br&&/p&&p&分享内容主要为以下几个方面: &/p&&ul&&li&&b&数据预处理:&/b&将原始文本通过词干还原、词性抽取、停用词去除等多种文本处理方式生成多通道数据以从多角度进行特征提取和模型构建。&/li&&li&&b&特征工程:&/b&除了构建基本的统计特征,自然语言句法语法特征,分布式文本表达特征以外,还利用问题共现关系构建了关系图网络,并通过图连接,图节点等信息抽取得到相应特征。&/li&&li&&b&模型构建:&/b&主要包含两个方面:一方面利用深度学习模型,其中主要包括实验室自主研发的深度文本匹配模型;另一方面利用传统的机器学习模型如GBDT,分解机模型,线性模型等。&/li&&li&&b&模型融合:&/b&通过我们提出的Deep Fusion方法,将大量不同类别的模型结果进行整合,利用多模型之间的差异性和互补性进一步提升结果。&/li&&/ul&&p&&br&&/p&&p&&br&&/p&&h2&&b&团队成员介绍&/b&&/h2&&p&&b&▼&/b&&/p&&p&&br&&/p&&img src=&/v2-92c2db9d3cbbcae_b.png& data-rawwidth=&749& data-rawheight=&206& class=&origin_image zh-lightbox-thumb& width=&749& data-original=&/v2-92c2db9d3cbbcae_r.png&&&p&&b&庞亮&/b&&/p&&p&&b&中国科学院计算技术研究所博士生&/b&&/p&&p&&br&&/p&&p&研究方向是文本匹配,主要研究如何更好的利用深度学习方法解决文本匹配中的问题。2016年在国际会议AAAI上发表长文“Text Matching as Image Recognition”。曾获微软亚洲研究院“明日之星”称号。曾获Kaggle举办的RecSys2013: Yelp Business Rating Prediction第一名、Personalize Expedia Hotel Searches - ICDM 2013第五名、National Data Science Bowl第十六名。曾获第一届阿里巴巴大数据竞赛—天猫推荐算法挑战赛第七名、2016Bytecup竞赛第一名。&/p&&p&&br&&/p&&p&&br&&/p&&img src=&/v2-6a1f5d0bad2d2ccde3e0ae_b.png& data-rawwidth=&882& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&882& data-original=&/v2-6a1f5d0bad2d2ccde3e0ae_r.png&&&p&&b&侯建鹏&/b&&/p&&p&&b&Google软件工程师&/b&&/p&&p&&br&&/p&&p&拥有中国科学院计算技术研究所攻读硕士学位,研究方向是机器学习与分布式计算,主要参与了Easy Machine Learning开源机器学习平台的开发工作。期间获得了SIGHAN-2015 Chinese Spelling Check Task冠军和2016中国电信大数据竞赛冠军。&/p&&p&&br&&/p&&p&以上两位同学为本次分享主讲人。&/p&&p&&br&&/p&&p&&b&团队其他成员&/b&&/p&&p&&br&&/p&&img src=&/v2-88dd1ffdbab88c_b.png& data-rawwidth=&1143& data-rawheight=&517& class=&origin_image zh-lightbox-thumb& width=&1143& data-original=&/v2-88dd1ffdbab88c_r.png&&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&h2&&b&观看直播或加群&/b&&/h2&&p&&b&▼&/b&&/p&&p&关注“将门创投”微信公众号(thejiangmen),后台回复“&b&NLP&/b&”,获取入群通道及直播地址。 &/p&
活动已结束PDF与回顾视频&& 文本匹配是自然语言处理中的重要基础问题,自然语言处理领域的许多任务都可以抽象为文本匹配问题。在上个月刚刚落下帷幕的Kaggle:Quora Question Pairs全球文本…
&img src=&/v2-b05389dcf3_b.jpg& data-rawwidth=&688& data-rawheight=&387& class=&origin_image zh-lightbox-thumb& width=&688& data-original=&/v2-b05389dcf3_r.jpg&&&p&上周写了&a href=&/p/& class=&internal&&一篇文章&/a&介绍了一下RNN的几种结构,今天就来聊一聊如何在TensorFlow中实现这些结构,这篇文章的主要内容为:&/p&&ul&&li&&b&一个完整的、循序渐进的学习TensorFlow中RNN实现的方法。&/b&这个学习路径的曲线较为平缓,应该可以减少不少学习精力,帮助大家少走弯路。&/li&&li&一些可能会踩的坑&/li&&li&TensorFlow源码分析&/li&&li&一个Char RNN实现示例,可以用来写诗,生成歌词,甚至可以用来写网络小说!(项目地址:&a href=&/?target=https%3A///hzy46/Char-RNN-TensorFlow& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&hzy46/Char-RNN-TensorFlow&i class=&icon-external&&&/i&&/a&)&/li&&/ul&&h2&一、学习单步的RNN:RNNCell&/h2&&p&&b&如果要学习TensorFlow中的RNN,第一站应该就是去了解“&a href=&/?target=https%3A//www.tensorflow.org/api_docs/python/tf/contrib/rnn/RNNCell& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RNNCell&i class=&icon-external&&&/i&&/a&”,它是TensorFlow中实现RNN的基本单元&/b&,每个RNNCell都有一个call方法,使用方式是:(output, next_state) = call(input, state)。&/p&&p&借助图片来说可能更容易理解。假设我们有一个初始状态h0,还有输入x1,调用call(x1, h0)后就可以得到(output1, h1):&/p&&p&&br&&/p&&img src=&/v2-a5f8bc30bcc2d9eba2850_b.jpg& data-rawwidth=&2856& data-rawheight=&1110& class=&origin_image zh-lightbox-thumb& width=&2856& data-original=&/v2-a5f8bc30bcc2d9eba2850_r.jpg&&&p&再调用一次call(x2, h1)就可以得到(output2, h2):&/p&&p&&br&&/p&&img src=&/v2-74d7ac80ca32920d0ffe_b.jpg& data-rawwidth=&3320& data-rawheight=&1110& class=&origin_image zh-lightbox-thumb& width=&3320& data-original=&/v2-74d7ac80ca32920d0ffe_r.jpg&&&p&也就是说&b&,每调用一次RNNCell的call方法,就相当于在时间上“推进了一步”,这就是RNNCell的基本功能。&/b&&/p&&p&在代码实现上,RNNCell只是一个抽象类,我们用的时候都是用的它的两个子类BasicRNNCell和BasicLSTMCell。顾名思义,前者是RNN的基础类,后者是LSTM的基础类。这里推荐大家阅读其&a href=&/?target=https%3A///tensorflow/tensorflow/blob/r1.2/tensorflow/python/ops/rnn_cell_impl.py& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&源码实现&i class=&icon-external&&&/i&&/a&,一开始并不需要全部看一遍,只需要看下RNNCell、BasicRNNCell、BasicLSTMCell这三个类的注释部分,应该就可以理解它们的功能了。&/p&&p&除了call方法外,对于RNNCell,还有两个类属性比较重要:&/p&&ul&&li&state_size&/li&&li&output_size&/li&&/ul&&p&前者是隐层的大小,后者是输出的大小。比如我们通常是将一个batch送入模型计算,设输入数据的形状为(batch_size, input_size),那么计算时得到的隐层状态就是(batch_size, state_size),输出就是(batch_size, output_size)。&/p&&p&可以用下面的代码验证一下(注意,以下代码都基于TensorFlow最新的1.2版本):&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&tensorflow&/span& &span class=&kn&&as&/span& &span class=&nn&&tf&/span&
&span class=&kn&&import&/span& &span class=&nn&&numpy&/span& &span class=&kn&&as&/span& &span class=&nn&&np&/span&
&span class=&n&&cell&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&rnn_cell&/span&&span class=&o&&.&/span&&span class=&n&&BasicRNNCell&/span&&span class=&p&&(&/span&&span class=&n&&num_units&/span&&span class=&o&&=&/span&&span class=&mi&&128&/span&&span class=&p&&)&/span& &span class=&c1&&# state_size = 128&/span&
&span class=&k&&print&/span&&span class=&p&&(&/span&&span class=&n&&cell&/span&&span class=&o&&.&/span&&span class=&n&&state_size&/span&&span class=&p&&)&/span& &span class=&c1&&# 128&/span&
&span class=&n&&inputs&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&placeholder&/span&&span class=&p&&(&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&float32&/span&&span class=&p&&,&/span& &span class=&n&&shape&/span&&span class=&o&&=&/span&&span class=&p&&(&/span&&span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&mi&&100&/span&&span class=&p&&))&/span& &span class=&c1&&# 32 是 batch_size&/span&
&span class=&n&&h0&/span& &span class=&o&&=&/span& &span class=&n&&cell&/span&&span class=&o&&.&/span&&span class=&n&&zero_state&/span&&span class=&p&&(&/span&&span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&float32&/span&&span class=&p&&)&/span& &span class=&c1&&# 通过zero_state得到一个全0的初始状态,形状为(batch_size, state_size)&/span&
&span class=&n&&output&/span&&span class=&p&&,&/span& &span class=&n&&h1&/span& &span class=&o&&=&/span& &span class=&n&&cell&/span&&span class=&o&&.&/span&&span class=&n&&call&/span&&span class=&p&&(&/span&&span class=&n&&inputs&/span&&span class=&p&&,&/span& &span class=&n&&h0&/span&&span class=&p&&)&/span& &span class=&c1&&#调用call函数&/span&
&span class=&k&&print&/span&&span class=&p&&(&/span&&span class=&n&&h1&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&)&/span& &span class=&c1&&# (32, 128)&/span&
&/code&&/pre&&/div&&p&对于BasicLSTMCell,情况有些许不同,因为LSTM可以看做有两个隐状态h和c,对应的隐层就是一个Tuple,每个都是(batch_size, state_size)的形状:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&tensorflow&/span& &span class=&kn&&as&/span& &span class=&nn&&tf&/span&
&span class=&kn&&import&/span& &span class=&nn&&numpy&/span& &span class=&kn&&as&/span& &span class=&nn&&np&/span&
&span class=&n&&lstm_cell&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&rnn_cell&/span&&span class=&o&&.&/span&&span class=&n&&BasicLSTMCell&/span&&span class=&p&&(&/span&&span class=&n&&num_units&/span&&span class=&o&&=&/span&&span class=&mi&&128&/span&&span class=&p&&)&/span&
&span class=&n&&inputs&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&placeholder&/span&&span class=&p&&(&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&float32&/span&&span class=&p&&,&/span& &span class=&n&&shape&/span&&span class=&o&&=&/span&&span class=&p&&(&/span&&span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&mi&&100&/span&&span class=&p&&))&/span& &span class=&c1&&# 32 是 batch_size&/span&
&span class=&n&&h0&/span& &span class=&o&&=&/span& &span class=&n&&lstm_cell&/span&&span class=&o&&.&/span&&span class=&n&&zero_state&/span&&span class=&p&&(&/span&&span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&float32&/span&&span class=&p&&)&/span& &span class=&c1&&# 通过zero_state得到一个全0的初始状态&/span&
&span class=&n&&output&/span&&span class=&p&&,&/span& &span class=&n&&h1&/span& &span class=&o&&=&/span& &span class=&n&&lstm_cell&/span&&span class=&o&&.&/span&&span class=&n&&call&/span&&span class=&p&&(&/span&&span class=&n&&inputs&/span&&span class=&p&&,&/span& &span class=&n&&h0&/span&&span class=&p&&)&/span&
&span class=&k&&print&/span&&span class=&p&&(&/span&&span class=&n&&h1&/span&&span class=&o&&.&/span&&span class=&n&&h&/span&&span class=&p&&)&/span&
&span class=&c1&&# shape=(32, 128)&/span&
&span class=&k&&print&/span&&span class=&p&&(&/span&&span class=&n&&h1&/span&&span class=&o&&.&/span&&span class=&n&&c&/span&&span class=&p&&)&/span&
&span class=&c1&&# shape=(32, 128)&/span&
&/code&&/pre&&/div&&h2&二、学习如何一次执行多步:tf.nn.dynamic_rnn&/h2&&p&基础的RNNCell有一个很明显的问题:对于单个的RNNCell,我们使用它的call函数进行运算时,只是在序列时间上前进了一步。比如使用x1、h0得到h1,通过x2、h1得到h2等&b&。这样的h话,如果我们的序列长度为10,就要调用10次call函数,比较麻烦。对此,TensorFlow提供了一个tf.nn.dynamic_rnn函数,使用该函数就相当于调用了n次call函数。&/b&即通过{h0,x1, x2, …., xn}直接得{h1,h2…,hn}。&/p&&p&具体来说,设我们输入数据的格式为(batch_size, time_steps, input_size),其中time_steps表示序列本身的长度,如在Char RNN中,长度为10的句子对应的time_steps就等于10。最后的input_size就表示输入数据单个序列单个时间维度上固有的长度。另外我们已经定义好了一个RNNCell,调用该RNNCell的call函数time_steps次,对应的代码就是:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&c1&&# inputs: shape = (batch_size, time_steps, input_size) &/span&
&span class=&c1&&# cell: RNNCell&/span&
&span class=&c1&&# initial_state: shape = (batch_size, cell.state_size)。初始状态。一般可以取零矩阵&/span&
&span class=&n&&outputs&/span&&span class=&p&&,&/span& &span class=&n&&state&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&dynamic_rnn&/span&&span class=&p&&(&/span&&span class=&n&&cell&/span&&span class=&p&&,&/span& &span class=&n&&inputs&/span&&span class=&p&&,&/span& &span class=&n&&initial_state&/span&&span class=&o&&=&/span&&span class=&n&&initial_state&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&此时,得到的outputs就是time_steps步里所有的输出。它的形状为(batch_size, time_steps, cell.output_size)。state是最后一步的隐状态,它的形状为(batch_size, cell.state_size)。&/p&&p&此处建议大家阅读&a href=&/?target=https%3A//www.tensorflow.org/api_docs/python/tf/nn/dynamic_rnn& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&tf.nn.dynamic_rnn的文档&i class=&icon-external&&&/i&&/a&做进一步了解。&/p&&h2&三、学习如何堆叠RNNCell:MultiRNNCell&/h2&&p&很多时候,单层RNN的能力有限,我们需要多层的RNN。将x输入第一层RNN的后得到隐层状态h,这个隐层状态就相当于第二层RNN的输入,第二层RNN的隐层状态又相当于第三层RNN的输入,以此类推。在TensorFlow中,可以使用tf.nn.rnn_cell.MultiRNNCell函数对RNNCell进行堆叠,相应的示例程序如下:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&tensorflow&/span& &span class=&kn&&as&/span& &span class=&nn&&tf&/span&
&span class=&kn&&import&/span& &span class=&nn&&numpy&/span& &span class=&kn&&as&/span& &span class=&nn&&np&/span&
&span class=&c1&&# 每调用一次这个函数就返回一个BasicRNNCell&/span&
&span class=&k&&def&/span& &span class=&nf&&get_a_cell&/span&&span class=&p&&():&/span&
&span class=&k&&return&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&rnn_cell&/span&&span class=&o&&.&/span&&span class=&n&&BasicRNNCell&/span&&span class=&p&&(&/span&&span class=&n&&num_units&/span&&span class=&o&&=&/span&&span class=&mi&&128&/span&&span class=&p&&)&/span&
&span class=&c1&&# 用tf.nn.rnn_cell MultiRNNCell创建3层RNN&/span&
&span class=&n&&cell&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&rnn_cell&/span&&span class=&o&&.&/span&&span class=&n&&MultiRNNCell&/span&&span class=&p&&([&/span&&span class=&n&&get_a_cell&/span&&span class=&p&&()&/span& &span class=&k&&for&/span& &span class=&n&&_&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&mi&&3&/span&&span class=&p&&)])&/span& &span class=&c1&&# 3层RNN&/span&
&span class=&c1&&# 得到的cell实际也是RNNCell的子类&/span&
&span class=&c1&&# 它的state_size是(128, 128, 128)&/span&
&span class=&c1&&# (128, 128, 128)并不是128x128x128的意思&/span&
&span class=&c1&&# 而是表示共有3个隐层状态,每个隐层状态的大小为128&/span&
&span class=&k&&print&/span&&span class=&p&&(&/span&&span class=&n&&cell&/span&&span class=&o&&.&/span&&span class=&n&&state_size&/span&&span class=&p&&)&/span& &span class=&c1&&# (128, 128, 128)&/span&
&span class=&c1&&# 使用对应的call函数&/span&
&span class=&n&&inputs&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&placeholder&/span&&span class=&p&&(&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&float32&/span&&span class=&p&&,&/span& &span class=&n&&shape&/span&&span class=&o&&=&/span&&span class=&p&&(&/span&&span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&mi&&100&/span&&span class=&p&&))&/span& &span class=&c1&&# 32 是 batch_size&/span&
&span class=&n&&h0&/span& &span class=&o&&=&/span& &span class=&n&&cell&/span&&span class=&o&&.&/span&&span class=&n&&zero_state&/span&&span class=&p&&(&/span&&span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&float32&/span&&span class=&p&&)&/span& &span class=&c1&&# 通过zero_state得到一个全0的初始状态&/span&
&span class=&n&&output&/span&&span class=&p&&,&/span& &span class=&n&&h1&/span& &span class=&o&&=&/span& &span class=&n&&cell&/span&&span class=&o&&.&/span&&span class=&n&&call&/span&&span class=&p&&(&/span&&span class=&n&&inputs&/span&&span class=&p&&,&/span& &span class=&n&&h0&/span&&span class=&p&&)&/span&
&span class=&k&&print&/span&&span class=&p&&(&/span&&span class=&n&&h1&/span&&span class=&p&&)&/span& &span class=&c1&&# tuple中含有3个32x128的向量&/span&
&/code&&/pre&&/div&&p&&b&通过MultiRNNCell得到的cell并不是什么新鲜事物,它实际也是RNNCell的子类,因此也有call方法、state_size和output_size属性。同样可以通过tf.nn.dynamic_rnn来一次运行多步。&/b&&/p&&p&此处建议阅读&a href=&/?target=https%3A///tensorflow/tensorflow/blob/r1.2/tensorflow/python/ops/rnn_cell_impl.py& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MutiRNNCell源码&i class=&icon-external&&&/i&&/a&中的注释进一步了解其功能。&/p&&h2&四、可能遇到的坑1:Output说明&/h2&&p&在经典RNN结构中有这样的图:&/p&&p&&br&&/p&&img src=&/v2-71bec838a7abf7cb2299_b.jpg& data-rawwidth=&600& data-rawheight=&473& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/v2-71bec838a7abf7cb2299_r.jpg&&&p&&br&&/p&&p&在上面的代码中,我们好像有意忽略了调用call或dynamic_rnn函数后得到的output的介绍。将上图与TensorFlow的BasicRNNCell对照来看。h就对应了BasicRNNCell的state_size。那么,y是不是就对应了BasicRNNCell的output_size呢?&b&答案是否定的&/b&。&/p&&p&找到源码中BasicRNNCell的call函数实现:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&k&&def&/span& &span class=&nf&&call&/span&&span class=&p&&(&/span&&span class=&bp&&self&/span&&span class=&p&&,&/span& &span class=&n&&inputs&/span&&span class=&p&&,&/span& &span class=&n&&state&/span&&span class=&p&&):&/span&
&span class=&sd&&&&&Most basic RNN: output = new_state = act(W * input + U * state + B).&&&&/span&
&span class=&n&&output&/span& &span class=&o&&=&/span& &span class=&bp&&self&/span&&span class=&o&&.&/span&&span class=&n&&_activation&/span&&span class=&p&&(&/span&&span class=&n&&_linear&/span&&span class=&p&&([&/span&&span class=&n&&inputs&/span&&span class=&p&&,&/span& &span class=&n&&state&/span&&span class=&p&&],&/span& &span class=&bp&&self&/span&&span class=&o&&.&/span&&span class=&n&&_num_units&/span&&span class=&p&&,&/span& &span class=&bp&&True&/span&&span class=&p&&))&/span&
&span class=&k&&return&/span& &span class=&n&&output&/span&&span class=&p&&,&/span& &span class=&n&&output&/span&
&/code&&/pre&&/div&&p&&b&这句“return output, output”说明在BasicRNNCell中,output其实和隐状态的值是一样的。因此,我们还需要额外对输出定义新的变换,才能得到图中真正的输出y&/b&。由于output和隐状态是一回事,所以在BasicRNNCell中,state_size永远等于output_size。TensorFlow是出于尽量精简的目的来定义BasicRNNCell的,所以省略了输出参数,我们这里一定要弄清楚它和图中原始RNN定义的联系与区别。&/p&&p&再来看一下BasicLSTMCell的call函数定义(函数的最后几行):&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&new_c&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&
&span class=&n&&c&/span& &span class=&o&&*&/span& &span class=&n&&sigmoid&/span&&span class=&p&&(&/span&&span class=&n&&f&/span& &span class=&o&&+&/span& &span class=&bp&&self&/span&&span class=&o&&.&/span&&span class=&n&&_forget_bias&/span&&span class=&p&&)&/span& &span class=&o&&+&/span& &span class=&n&&sigmoid&/span&&span class=&p&&(&/span&&span class=&n&&i&/span&&span class=&p&&)&/span& &span class=&o&&*&/span& &span class=&bp&&self&/span&&span class=&o&&.&/span&&span class=&n&&_activation&/span&&span class=&p&&(&/span&&span class=&n&&j&/span&&span class=&p&&))&/span&
&span class=&n&&new_h&/span& &span class=&o&&=&/span& &span class=&bp&&self&/span&&span class=&o&&.&/span&&span class=&n&&_activation&/span&&span class=&p&&(&/span&&span class=&n&&new_c&/span&&span class=&p&&)&/span& &span class=&o&&*&/span& &span class=&n&&sigmoid&/span&&span class=&p&&(&/span&&span class=&n&&o&/span&&span class=&p&&)&/span&
&span class=&k&&if&/span& &span class=&bp&&self&/span&&span class=&o&&.&/span&&span class=&n&&_state_is_tuple&/span&&span class=&p&&:&/span&
&span class=&n&&new_state&/span& &span class=&o&&=&/span& &span class=&n&&LSTMStateTuple&/span&&span class=&p&&(&/span&&span class=&n&&new_c&/span&&span class=&p&&,&/span& &span class=&n&&new_h&/span&&span class=&p&&)&/span&
&span class=&k&&else&/span&&span class=&p&&:&/span&
&span class=&n&&new_state&/span& &span class=&o&&=&/span& &span class=&n&&array_ops&/span&&span class=&o&&.&/span&&span class=&n&&concat&/span&&span class=&p&&([&/span&&span class=&n&&new_c&/span&&span class=&p&&,&/span& &span class=&n&&new_h&/span&&span class=&p&&],&/span& &span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&k&&return&/span& &span class=&n&&new_h&/span&&span class=&p&&,&/span& &span class=&n&&new_state&/span&
&/code&&/pre&&/div&&p&我们只需要关注self._state_is_tuple == True的情况,因为self._state_is_tuple == False的情况将在未来被弃用。返回的隐状态是new_c和new_h的组合,而output就是单独的new_h。如果我们处理的是分类问题,那么我们还需要对new_h添加单独的Softmax层才能得到最后的分类概率输出。&/p&&p&还是建议大家亲自看一下&a href=&/?target=https%3A///tensorflow/tensorflow/blob/master/tensorflow/python/ops/rnn_cell_impl.py& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&源码实现&i class=&icon-external&&&/i&&/a&来搞明白其中的细节。&/p&&h2&五、可能遇到的坑2:因版本原因引起的错误&/h2&&p&在前面我们讲到堆叠RNN时,使用的代码是:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&c1&&# 每调用一次这个函数就返回一个BasicRNNCell&/span&
&span class=&k&&def&/span& &span class=&nf&&get_a_cell&/span&&span class=&p&&():&/span&
&span class=&k&&return&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&rnn_cell&/span&&span class=&o&&.&/span&&span class=&n&&BasicRNNCell&/span&&span class=&p&&(&/span&&span class=&n&&num_units&/span&&span class=&o&&=&/span&&span class=&mi&&128&/span&&span class=&p&&)&/span&
&span class=&c1&&# 用tf.nn.rnn_cell MultiRNNCell创建3层RNN&/span&
&span class=&n&&cell&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&rnn_cell&/span&&span class=&o&&.&/span&&span class=&n&&MultiRNNCell&/span&&span class=&p&&([&/span&&span class=&n&&get_a_cell&/span&&span class=&p&&()&/span& &span class=&k&&for&/span& &span class=&n&&_&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&mi&&3&/span&&span class=&p&&)])&/span& &span class=&c1&&# 3层RNN&/span&
&/code&&/pre&&/div&&p&这个代码在TensorFlow 1.2中是可以正确使用的。但在之前的版本中(以及网上很多相关教程),实现方式是这样的:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&one_cell&/span& &span class=&o&&=&/span&
&span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&rnn_cell&/span&&span class=&o&&.&/span&&span class=&n&&BasicRNNCell&/span&&span class=&p&&(&/span&&span class=&n&&num_units&/span&&span class=&o&&=&/span&&span class=&mi&&128&/span&&span class=&p&&)&/span&
&span class=&n&&cell&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&nn&/span&&span class=&o&&.&/span&&span class=&n&&rnn_cell&/span&&span class=&o&&.&/span&&span class=&n&&MultiRNNCell&/span&&span class=&p&&([&/span&&span class=&n&&one_cell&/span&&span class=&p&&]&/span& &span class=&o&&*&/span& &span class=&mi&&3&/span&&span class=&p&&)&/span& &span class=&c1&&# 3层RNN&/span&
&/code&&/pre&&/div&&p&如果在TensorFlow 1.2中还按照原来的方式定义,就会引起错误!&/p&&h2&六、一个练手项目:Char RNN&/h2&&p&上面的内容实际上就是TensorFlow中实现RNN的基本知识了。&b&这个时候,建议大家用一个项目来练习巩固一下。此处特别推荐Char RNN项目,这个项目对应的是经典的RNN结构,实现它使用的TensorFlow函数就是上面说到的几个,项目本身又比较有趣,可以用来做文本生成,平常大家看到的用深度学习来写诗写歌词的基本用的就是它了。&/b&&/p&&p&Char RNN的实现已经有很多了,可以自己去Github上面找,我这里也做了一个实现,供大家参考。项目地址为:&a href=&/?target=https%3A///hzy46/Char-RNN-TensorFlow& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&hzy46/Char-RNN-TensorFlow&i class=&icon-external&&&/i&&/a&。代码的部分实现来自于&a href=&/p/& class=&internal&&这篇专栏&/a&,在此感谢 &a class=&member_mention& href=&/people/97d543e9ac& data-hash=&97d543e9ac& data-hovercard=&p$b$97d543e9ac&&@天雨粟&/a& 。&/p&&p&我主要向代码中添加了embedding层,以支持中文,另外重新整理了代码结构,将API改成了最新的TensorFlow 1.2版本。&/p&&p&可以用这个项目来写诗(以下诗句都是自动生成的):&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&何人无不见,此地自何如。
一夜山边去,江山一夜归。
山风春草色,秋水夜声深。
何事同相见,应知旧子人。
何当不相见,何处见江边。
一叶生云里,春风出竹堂。
何时有相访,不得在君心。
&/code&&/pre&&/div&&p&还可以生成代码:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&static int page_cpus(struct flags *str)
struct rq *do_
* Core_trace_periods the time in is is that supsed,
* Intendifint to state anded.
int print_init(struct priority *rt)
/* Comment sighind if see task so and the sections */
console(string, &can);
&/code&&/pre&&/div&&p&此外生成英文更不是问题(使用莎士比亚的文本训练):&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&LAUNCE:
The formity so mistalied on his, thou hast she was
to her hears, what we shall be that say a soun man
Would the lord and all a fouls and too, the say,
That we destent and here with my peace.
Why, are the must thou art breath or thy saming,
I have sate it him with too to have me of
I the camples.
&/code&&/pre&&/div&&p&最后,如果你脑洞够大,还可以来做一些更有意思的事情,比如我用了著名的网络小说《斗破苍穹》训练了一个RNN模型,可以生成下面的文本:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&闻言,萧炎一怔,旋即目光转向一旁的那名灰袍青年,然后目光在那位老者身上扫过,那里,一个巨大的石台上,有着一个巨大的巨坑,一些黑色光柱,正在从中,一道巨大的黑色巨蟒,一股极度恐怖的气息,从天空上暴射而出 ,然后在其中一些一道道目光中,闪电般的出现在了那些人影,在那种灵魂之中,却是有着许些强者的感觉,在他们面前,那一道道身影,却是如同一道黑影一般,在那一道道目光中,在这片天地间,在那巨大的空间中,弥漫而开……
“这是一位斗尊阶别,不过不管你,也不可能会出手,那些家伙,可以为了这里,这里也是能够有着一些异常,而且他,也是不能将其他人给你的灵魂,所以,这些事,我也是不可能将这一个人的强者给吞天蟒,这般一次,我们的实力,便是能够将之击杀……”
“这里的人,也是能够与魂殿强者抗衡。”
萧炎眼眸中也是掠过一抹惊骇,旋即一笑,旋即一声冷喝,身后那些魂殿殿主便是对于萧炎,一道冷喝的身体,在天空之上暴射而出,一股恐怖的劲气,便是从天空倾洒而下。
&/code&&/pre&&/div&&p&还是挺好玩的吧,另外还尝试了生成日文等等。&/p&&h2&七、学习完整版的LSTMCell&/h2&&p&上面只说了基础版的BasicRNNCell和BasicLSTMCell。TensorFlow中还有一个“完全体”的LSTM:LSTMCell。这个完整版的LSTM可以定义peephole,添加输出的投影层,以及给LSTM的遗忘单元设置bias等,可以&a href=&/?target=https%3A///tensorflow/tensorflow/blob/master/tensorflow/python/ops/rnn_cell_impl.py%23L417& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&参考其源码&i class=&icon-external&&&/i&&/a&了解使用方法。&/p&&h2&八、学习最新的Seq2Seq API&/h2&&p&Google在TensorFlow的1.2版本(1.3.0的rc版已经出了,貌似正式版也要出了,更新真是快)中更新了Seq2Seq API,使用这个API我们可以不用手动地去定义Seq2Seq模型中的Encoder和Decoder。此外它还和1.2版本中的新数据读入方式Datasets兼容。可以&a href=&/?target=https%3A//www.tensorflow.org/api_docs/python/tf/contrib/seq2seq& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&阅读此处的文档&i class=&icon-external&&&/i&&/a&学习它的使用方法。&/p&&h2&九、总结&/h2&&p&最后简单地总结一下,这篇文章提供了一个学习TensorFlow RNN实现的详细路径,其中包括了学习顺序、可能会踩的坑、源码分析以及一个示例项目&a href=&/?target=https%3A///hzy46/Char-RNN-TensorFlow& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&hzy46/Char-RNN-TensorFlow&i class=&icon-external&&&/i&&/a&,希望能对大家有所帮助。&/p&
上周写了介绍了一下RNN的几种结构,今天就来聊一聊如何在TensorFlow中实现这些结构,这篇文章的主要内容为:一个完整的、循序渐进的学习TensorFlow中RNN实现的方法。这个学习路径的曲线较为平缓,应该可以减少不少学习精力,帮助大家少走弯路。一些…
谢邀,下面已经这么多答案了,可能写了也没有多少人看到。但是看到很多人都在分享高中的学习经验,显然这不是题主希望看到的,高中的学习呢,简单地讲就是重复重复重复,就那么些知识点,反反复复练三年,其实收获甚微,而且,高中时外界干扰不多,可以专心学习。&br&&br&对于题主所说的长时间,是不是可以理解成需要一些好的学习习惯,就把之前在Coursera看到的一些和大家分享,希望对看到的人有所帮助,并感谢&a href=&///?target=http%3A//vancexu.github.io& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&vancexu&i class=&icon-external&&&/i&&/a&。&br&&br&&a href=&///?target=https%3A//www.coursera.org/learn/learning-how-to-learn/outline& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Learning How to Learn: Powerful mental tools to help you master tough subjects&i class=&icon-external&&&/i&&/a&是UCSD开的一门课。&br&&blockquote&Whether you are an outstanding or a struggling student, “Learning How to Learn” will give you powerful mental tools that will help you learn more effectively in tough-to-master subjects. You will discover practical, immediately useful insights that will help you to more deeply master your studies.&/blockquote&--------------------&br&Week 1. 学习是什么?&br&&i&1.1 专注模式和发散模式&/i&&br&大脑很复杂,了解一些关于大脑的工作原理可以让我们更好地学习,减少困惑。&br&首先介绍人在学习和思考时两种不同的模式:&b&专注模式 (Focused mode) 和发散模式 (Diffuse mode)&/b&,专注模式就是集中精力学习或理解某事,只有局部的神经链接处于激活状态,有利于你解决实际问题。比方说你熟悉四则运算,那么解决算数题的时候就主要靠那部分神经出力;而发散模式就是人脑放松的时候,神经信号可以在脑内大面积移动,有利于发挥创造性,比方说你洗澡的时候突然想到一个久攻不破的问题的解决方案。&br&当你面对熟悉的事物时,一般处于专注模式,而当你需要新想法和办法时,或者你需要从宏观上把握某件事时就切换到发散模式,这两个模式是可以互相切换的,但不能同时进行。可以在紧张的学习新知识的时候通过洗澡、散步等让自己放松的事情主动进入发散模式来帮助加深理解。&br&打个比方,如下图,专注模式是针板密集的时候,球在局部弹来弹去,发散模式是针板稀疏的时候,球在整个桌面游走。&br&&img src=&/37e17fa3d5d60f9e8bcba3bdc7e7dc06_b.jpg& data-rawwidth=&956& data-rawheight=&497& class=&origin_image zh-lightbox-thumb& width=&956& data-original=&/37e17fa3d5d60f9e8bcba3bdc7e7dc06_r.jpg&&大脑是一个昂贵的器官,需要消耗同等体重躯干部分10倍的能量。而大脑中有1,000,000,000,000,000数量级的突触,这些突触连接是动态的,因此你一觉醒来之后就不是你了,你的大脑已经发生了变化。&br&&i&1.2 拖延、记忆和睡眠&/i&&br&&img src=&/ec42b4f969f150e88f576_b.jpg& data-rawwidth=&897& data-rawheight=&411& class=&origin_image zh-lightbox-thumb& width=&897& data-original=&/ec42b4f969f150e88f576_r.jpg&&&br&当你做一件你不想做的事情比如学习时,大脑中和痛苦相关的区域被激活 (insular cortex), 大脑就趋向于将注意力转移到其他不那么痛苦的事情。&br&&img src=&/b765be0c9_b.jpg& data-rawwidth=&1064& data-rawheight=&547& class=&origin_image zh-lightbox-thumb& width=&1064& data-original=&/b765be0c9_r.jpg&&后面会有更多关于拖延的介绍。&br&介绍一个应对拖延症的简单办法:&b&番茄工作法 (Pomodoro)&/b&。番茄工作法由Francesco Cirillo发明,听上去很简单:&br&&ul&&li&25分钟&/li&&li&没有任何干扰&/li&&li&专心学习&/li&&/ul&最后当这25分钟结束后,你需要休息5分钟。&br&&blockquote&Practice makes permanent.&/blockquote&你需要不断的练习来增强大脑中的连接,形成比较深刻的记忆模式。&br&记忆分为&b&长期记忆 (Lone-term memory) 和工作记忆 (Working memory)。&/b&工作记忆也就是短期记忆,一般认为可以存放4块 (Chunks, 关于chunk后面会深入介绍) 信息,就像一块不太好用的黑板,不仅大小有限,而且很容易就被抹掉了,所以你需要不断重复,比如记电话号码,你需要一直重复直到你有机会把它写下来。而长期记忆的容量很大,从工作记忆转化到长期记忆需要时间以及不断的重复,这里提到了一个小技巧:&b&spaced repetition&/b&, 就是一晚上重复20遍的效果不如你每天重复几遍。&br&&b&睡眠对学习也十分重要。&/b&我们觉醒时大脑会产生有毒的物质,而睡觉时大脑细胞收缩,细胞间隙变大,脑脊液可以通过并且清理掉这些东西。睡眠的意义不止于此,它也是学习与记忆的重要的一部分。睡眠时大脑会整理你的想法和你学习的内容,不重要的记忆会被清理掉,而你想要记住的会得到加强。睡眠时大脑还可以重复你白天学习的复杂知识,对解决难题和理解知识都有帮助。在睡觉之前看的东西更容易进入你的梦境,而梦到它又有助于你对它的理解,关于睡觉对学习的作用具体可见我的另一个回答:&br&&a href=&/question//answer/& class=&internal&&睡眠可以帮助大脑整理白天学过的知识吗? - 知乎用户的回答&/a&&br&&b&另外,&/b&&b&锻炼身体很重要。&/b&除了散步洗澡听音乐等让你放松的方式会帮助你进入发散模式,锻炼身体能让你从之前集中精力的地方解放出来,使得发散模式有机会呈现,锻炼身体对大脑生长新的神经元有益。&br&&b&隐喻和类比是强大的学习技巧。&/b&&br&&br&Week 2. Chunking&br&&p&Chunk中文直译是“块”,在这里是指&strong&组合起来的有意义的知识&/strong&。比如字母d,o,g你可以很容易的把它们组成单词dog并在脑海中浮现狗的模样;比如拼图,鼻子眼睛耳朵背景等等,最后凑成一张图。chunk也像是把一些相近的文件做成的压缩包,节省空间的同时,便于搜索。之所以关心chunk,是因为&b&chunk是已经加工好的知识,是我们解决问题的时候真正会使用的东西。&/b&&/p&&p&如何形成chunk呢?&/p&&p&学一首新的吉他曲(可以视为一个chunk),通常是先完整听几遍曲子,看别人弹,然后自己一个小节一个小节练熟,最后串起来。 学一门新语言,一般会先从基本的音节,然后把音节串成单词,熟练了再把词串成句子,还要不断的融合语音语调之类的更多的细节。 这些都是给了我们形成chunk的直观感受:由mini chunk不断拼接,直到最后在我们的大脑形成了坚固的神经通路,使我们可以不用多想就可以迅速作出反应。&/p&&p&&b&生成chunk的方法:Focus, Understand, Practice。&/b&&br&&/p&&p&首先需要集中注意力。在形成chunk的时候,工作记忆像一只四脚章鱼一样,在努力建立新的神经结构,分心会占用章鱼有限的四只脚使得原本的chunk很难形成。&/p&&p&接着是理解,理解像是强力胶水,能让chunk之间相互关联,使得知识更容易被想到和使用。&br&&/p&&p&最后一步就是练习,形成context(上下文),从而巩固chunk,并建立多个指向chunk的入口。&br&&/p&&p&&img src=&/f6cd77bcc2e05d39e4958_b.jpg& data-rawwidth=&976& data-rawheight=&752& class=&origin_image zh-lightbox-thumb& width=&976& data-original=&/f6cd77bcc2e05d39e4958_r.jpg&&要形成上下文,得跳出原来要解决的问题,开阔思路,不断的使用相关的或不相关的chunk进行练习,&b&直到我们不仅理解了何时该使用这个chunk,还能知道什么时候不能用它为止。&/b&Chunk告诉你如何解决问题,上下文告诉你什么时候使用chunk,以及这个chunk在整张知识图中的位置。&br&&/p&&p&&b&另外,学习时&/b&&b&不要过多的画重点&/b&,因为这可能会给你一种错觉:你记住了这些划过的内容,提倡在学习的过程中多提炼中心思想。对于我们已经掌握的东西,没必要一直重复学习了,&strong&你更应该多花时间和精力在你感觉最难的部分,这就叫deliberate practice&/strong&。著名的10000小时理论也十分强调deliberate practice, deliberate practice往往能把顶尖和普通的学生区分开来。&/p&&br&&p&Week 3. 拖延和记忆&/p&&p&拖延就像毒品,每次品尝一点点,虽然获取了短暂的快感,但是已经上瘾了,你的大脑慢慢建立起了稳定的神经结构,使得你再看到数学题的时候会自动产生更多的痛苦,而同时无需经过你的抵抗就让你自动拿起手机或者打开网页。如此循环,你发现自己越来越难以将注意力转回原来要做的事情。&/p&&img src=&/b765be0c9_b.jpg& data-rawwidth=&1064& data-rawheight=&547& class=&origin_image zh-lightbox-thumb& width=&1064& data-original=&/b765be0c9_r.jpg&&&p&这时,你尝试着用自己钢铁般的意志力去跟拖延症战斗,结果往往不理想,因为用意志力去解决问题会消耗很大脑力,所以并不是很好的策略。&/p&&p&那怎么办?用习惯,将你想靠意志力完成的事情变成靠习惯来完成。&/p&&p&&b&习惯的养成有四个部分:导火索(cue),习惯动作(routine),奖励(rewards),信念(belief)。&/b&&/p&&ol&&li&导火索就是触发事件的原因,可能是时间,地点,感受,对外界的反应,比如午饭,沙发,疲劳,互联网,短信,邮件等。导火索会在不知不觉中让你做出习惯动作,它本身是没有好坏之分的,有好坏之分的是接下来的习惯动作,比如对“做数学作业”你的习惯动作是打开电脑先上会儿网,那就不好了。在这个阶段可以做到是尽可能减少危险的导火索,比如手机一震你就要看手机然后半小时回不了神,那就别带手机或者关机;一开电脑就想刷社交网络,那就断网或者别用电脑。&/li&&li&习惯动作就是你对导火索的反应,它之所以叫习惯动作,是因为你在无意识中就做了动作,比如你一要做作业就先上网玩了一会儿。很明显,这步很重要,你要重建会导致拖延的习惯动作。怎么重建?做计划,在脑中先想象自己一会儿要做的事,比如“我走进了图书馆,拿出来打印好的作业,读了第一道题,用书上例题中类似的方法和步骤解了出来,然后看第二题……”,到了真正去写作业的时候,就按照自己想象的计划做,这时候需要用一点意志力。再比如你每次学了一小时想休息一下,习惯性地刷刷朋友圈,结果停不下来了,如果做了计划,休息的时候只听某一两首歌,或者出去走一圈,就好很多。你做的计划一开始可能不能完美执行,没关系,尽力坚持就好,习惯慢慢肯定可以改过来。&/li&&li&奖励是指在养成习惯的过程中每当有收获就给自己奖品,比如买点自己心仪的东西,或者毫无悔恨的放开玩等。它在养成习惯的过程中是非常重要,也是容易被忽视的。非常重要是因为如果你的奖励是你非常想要得到的,比如一项荣誉,一个舍不得买的物品等,在你想到它的时候会激励你坚持下去。从来只付出不奖励自己,在养成习惯的效果上会差很多,应该善用奖励机制。&/li&&li&信念就是要相信自己能形成新的习惯,能战胜拖延。恶疾容易复发,经常会有朋友新习惯没坚持多久就又回到老习惯的情况。别在意,要相信之前的付出是有用的,为了更好的贯彻信念,可以找志同道合的朋友一起努力。&/li&&/ol&&p&看了这么多关于通过改变习惯战胜拖延的东西,有人会说这有啥用啊,我每次一看到数学题还是头疼要死,即使强忍着不干乱七八糟的,也完全做不进去,马上就开始拖延了,根本改不了。&/p&&p&存在痛苦的感受是很正常的,关键是你如何看待这些痛苦。&b&那些不拖延的人,遇到困难之后告诉自己的是:我知道你很难过,但别浪费时间,开始做一点点吧,一定会慢慢变好的。你要相信确实是有办法让情况好转的。&/b&&/p&&p&&b&一个技巧是:专注于过程,而非结果 (Focus on process rather than product)。&/b&番茄工作法之所以有用,就是因为他让你专注过程的25分钟。&br&&/p&&p&&b&另一个建议是做计划,weekly list of key tasks, and daily to-do list。&/b&每周对主要任务列个计划,每天再列个待办事项。&br&&/p&&p&还有三个提升效率的技巧和建议:&/p&&ol&&li&&b&最难的事情最先做。&/b&因为越难越需要最充足的脑力去战斗,而且最难的最容易拖延的事情都解决了,后面都好办。&/li&&li&&b&给自己定一个结束时间,这跟制定工作时间一样重要。&/b&比如定好下午5点以后就不学了,之后去吃去玩去运动,所以5点之前,就专注把清单上的任务一个个做下来,尽量抓紧时间多做些,5点就解放。&/li&&li&&b&遇到困难先试试再说。&/b&只要试一下,头不疼了,心不乱了,过一会儿就发现,居然做完了。&/li&&/ol&&p&一定要战胜拖延症。学习是一个日积月累的过程,人脑需要时间来建造神经蓝图,就像健身增肌那样。所以我们要保持一个良好的学习惯性,避免拖延到最后一刻,以防在脑内搭建豆腐渣工程。建立新的习惯是战胜拖延的良方,可以从习惯的四个部分入手养成好习惯。关注过程而非结果,做好计划都是提高效率的技巧。&/p&
谢邀,下面已经这么多答案了,可能写了也没有多少人看到。但是看到很多人都在分享高中的学习经验,显然这不是题主希望看到的,高中的学习呢,简单地讲就是重复重复重复,就那么些知识点,反反复复练三年,其实收获甚微,而且,高中时外界干扰不多,可以专心…
&img src=&/v2-9d9d35b213c99b492027c_b.png& data-rawwidth=&1128& data-rawheight=&613& class=&origin_image zh-lightbox-thumb& width=&1128& data-original=&/v2-9d9d35b213c99b492027c_r.png&&&img src=&/v2-17dabbb4ffb72c_b.png& data-rawwidth=&1090& data-rawheight=&614& class=&origin_image zh-lightbox-thumb& width=&1090& data-original=&/v2-17dabbb4ffb72c_r.png&&&p&
分享一套Stanford University 在2017年1月份推出的一门Tensorflow与深度学习实战的一门课程。该课程讲解了最新版本的Tensorflow中各种概念、操作和使用方法,并且给出了丰富的深度学习模型实战,涉及Word2vec、AutoEncoder、RNN(LSTM,GRU)、Seq2seq with Attention 、Chatbot: Training and Optimizing、以及最近很火的深度强化学习DRL。还邀请了很多学术界和工业界的大牛做讲座。&/p&&p&获取最新消息链接:&a href=&/?target=http%3A//blog.csdn.net/lqfarmer/article/details/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&获取最新消息快速通道 - lqfarmer的博客 - 博客频道 - CSDN.NET&i class=&icon-external&&&/i&&/a&&br&&/p&&br&&p&课程的Schedule and Syllabus地址:&a href=&/?target=http%3A//web.stanford.edu/class/cs20si/syllabus.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Tensorflow for Deep Learning Research&i class=&icon-external&&&/i&&/a&&/p&&p&课程相关实战的github地址:&a href=&/?target=https%3A///chiphuyen/tf-stanford-tutorials& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&chiphuyen/tf-stanford-tutorials&i class=&icon-external&&&/i&&/a&&/p&&p&课程在线视频教程地址:&a href=&/?target=https%3A///watch%3Fv%3Dg-EvyKpZjmQ%26index%3D1%26list%3DPLIDllPt3EQZoS8gCP3cw273Cq9puuPLTg& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/watch?&/span&&span class=&invisible&&v=g-EvyKpZjmQ&index=1&list=PLIDllPt3EQZoS8gCP3cw273Cq9puuPLTg&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&p&课程完整视频教程下载地址:&/p&&p&链接: &a href=&/?target=https%3A///s/1dFb4str& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/s/1dFb4st&/span&&span class=&invisible&&r&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&(抱歉,ppt链接总是被百度云删除,建议您到课程首页下载:&a href=&/?target=http%3A//web.stanford.edu/class/cs20si/syllabus.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Tensorflow for Deep Learning Research&i class=&icon-external&&&/i&&/a&)&/p&&p&密码: 公众号回复“tv”&/p&&p&课程所有的ppt和笔记notes下载地址:&/p&&p&链接: &a href=&/?target=https%3A///s/1slIzn6P& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/s/1slIzn6&/span&&span class=&invisible&&P&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&密码: 公众号回复“tp”&/p&&p&获取最新消息链接:&a href=&/?target=http%3A//blog.csdn.net/lqfarmer/article/details/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&获取最新消息快速通道 - lqfarmer的博客 - 博客频道 - CSDN.NET&i class=&icon-external&&&/i&&/a&&br&&/p&&br&&p&附本套视频课程目录,可以参考一下:&/p&&p&LectureJan 13Overview of Tensorflow&/p&&p&Why Tensorflow? &/p&&p&Graphs and Sessions[note]&/p&&br&&p&To doJan 13Check out TensorBoard&/p&&p&LectureJan 18 Operations&/p&&p&Basic operations, constants, variables &/p&&p&Control dependencies &/p&&p&Feeding inputs &/p&&p&TensorBoard &/p&&br&&p&WorkshopJan 20Linear and Logistic Regression&/p&&p&Tensorflow's Optimizers &/p&&p&Example: OCR task on MNIST dataset[note]&/p&&br&&p&A1 releasedJan 20Assignment #1 released[A1 handout]&/p&&br&&p&LectureJan 25 &/p&&p&Week 3Structure your TensorFlow model&/p&&p&Example: word2vecSuggested Readings: &/p&&p&A lot. See lecture note &/p&&br&&p&LectureJan 27Managing experiments and process data&/p&&p&Interfaces &/p&&p&Saver object, checkpoints &/p&&p&Example: word2vec&/p&&br&&p&LectureFeb 1 &/p&&p&Week 4Convolutional Neural Networks&/p&&p&Guest lecture by Justin Johnson (Stanford Vision Lab) &/p&&p&Example: Neural style translation&/p&&p&LectureFeb 3Convolutional Neural Networks (continued)&/p&&p&Example: Autoencoder&/p&&br&&p&A2 releasedFeb 8Assignment #2 released[A2 Handout]&/p&&br&&p&LectureFeb 8 &/p&&p&Week 5Convolutional Neural Networks&/p&&p&Guest lecture by Jon Shlens (Google Brain)&/p&&p&LectureFeb 10Input Pipeline&/p&&p&Discussion of Assignment #2 &/p&&p&Style Transfer &/p&&br&&p&Week 6No classTensorFlow Dev Summit &/p&&p&Sign up for campus viewing&/p&&p&LectureFeb 17Midterm discussionNo slides&/p&&p&LectureFeb 22 &/p&&p&Week 7Introduction to RNN, LSTM, GRU&/p&&p&Example: Character-level Language Modeling&/p&&p&LectureFeb 24Convolutional-GRU&/p&&p&Guest lecture by Lukasz Kaiser (Google Brain)&/p&&p&LectureMar 1 &/p&&p&Week 8Seq2seq with Attention &/p&&p&Example: Chatbot[slides]&/p&&p&A3 releasedMar 2Assignment #3 released[A3 Handout]&/p&&br&&p&[Anonymous Chatlog Donation]&/p&&p&Mar 3No class&/p&&p&Pete Warden: TensorFlow for Mobile Developers&/p&&p&LectureMar 8 &/p&&p&Week 9Seq2seq with Attention (continued)&/p&&p&Chatbot: Training and Optimizing&/p&&p&LectureMar 10Reinforcement Learning in Tensorflow &/p&&p&Guest lecture by Danijar Hafner &/p&&p&(co-author of TensorFlow for Machine Intelligence)[slides]&/p&&p&DemoMar 17Chatbot demo&/p&
分享一套Stanford University 在2017年1月份推出的一门Tensorflow与深度学习实战的一门课程。该课程讲解了最新版本的Tensorflow中各种概念、操作和使用方法,并且给出了丰富的深度学习模型实战,涉及Word2vec、AutoEncoder、RNN(LSTM,GRU)、Seq2seq with …
&p&撸主你身高184,体重120斤,真心不算非常轻...我能告诉你,我也差不多184,健身前体重只有100斤嘛?这才叫非常非常非常轻,曾经光天化日在路上被巡警查过身份证,他问我:你吸过毒吗?
What the fuck! =_=凸&/p&&p&以及:
· 从小怎么吃都吃不胖!
· 邻居长辈们见到我第一句话就是“你怎么又瘦了”!
· “你瘦的跟竹竿似的”我听过一千八百五十二遍了!
· 每次来台风身边的朋友就担心我被刮跑!
· 从来买不到合身的衣服!
· 喜欢的妹子觉得我人挺不错的就是太瘦了!
· 坐公交旁边的妹子睡着了头温柔搭在我肩膀上被我骨头硌醒了!
· 我特么瘦了二十多年了啊!还有救吗??&/p&&br&&p&&b&然后经过不足一年半的健身训练,从100斤涨到现在140斤!40%UP!&/b&
还差10斤就达到目标的标准体重了。&i&(已超过150斤——2015年底)&/i&
所以这次我会写一篇&b&针对瘦子新手&/b&的全面、细致的和姨妈巾一样不侧漏的大长篇,也会有详细的训练参考计划,以及平时收到的私信问题的解答,希望能帮到广大瘦子重返人间——你尝试了网上各种增重方式却毫无进展的时候,跟着我练就好了。&/p&&p&&b&没耐心读又需要励志对比图的,可以直接拉到最下面看。&/b&&/p&&p&----------正文---------&/p&&p&增重计划分为五部分依次讲解:&b&原因→饮食计划→训练计划→休息恢复→心理&/b&
尽量避免专业术语讲通俗易理解一点。&/p&&br&&br&&p&【一】原因
你为什么瘦?为什么“怎么吃都胖不起来”?
原因主要可能是&b&遗传&/b&和&b&生活习惯,&/b&如果你从小在家吃好喝好也没胖过,家人也偏瘦,那主要就是基因问题了。&/p&&p&基因决定你的身体类型属于(或偏向)外胚型(&a href=&///?target=http%3A///link%3Furl%3DuufZ37OTiUn8TPIs-9K8mu53e047KNTq0Erqm72LskqKWi4gSTJckWdN0c6Frh09D3z12-yIV_3ohDBFaVosJ_& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&外胚层体型_百度百科&i class=&icon-external&&&/i&&/a&),这种类型的身体,基础代谢率极高,增肌速度很慢,基本让人绝望,瘦的像条狗,人称卓瘦狗,和楼下的李狗蛋是好伙伴,打小时候开始就被常邻居的女汉子一巴掌甩到十公里开外。&/p&&p&当然这种体型也有它的优点,那就是脂肪增长的也很慢,体脂很低,所以瘦子通常“天生有腹肌”,因为没有多余脂肪盖在你的腹部上;低体脂意味着你不需要严格控制饮食,对于油脂较多的食物可以稍微随意一些,这个优势在你健身有一定成果的时候,非常有意义——你不用太亏待自己的嘴,也可以保持较高分离度的优美肌肉线条,就像《基战》彭于晏那样,是其他体型的人不易获得的。&/p&&br&&br&&p&【二】饮食计划
饮食我放在训练前面写,是因为&b&饮食比训练更重要&/b&,虽然这部分看着比较无趣,也不像训练计划那样激动人心。三分练七分吃这个说法是正确的,而大多数人却想着怎么训练才能有效增肌,忽略了饮食,导致效果始终不佳。&/p&&p&为什么要吃?
人的身体需要摄入热量,也需要代谢热量。宏观来说,当你&b&摄入的热量大于你代谢的热量时,你的体重就会增加&/b&,反之则减少。
也就是说,只要你吃的&b&真的&/b&足够多,体重一定会上涨。但你总是觉得自己“已经吃了很多”,实际上还没抵得过你外胚型高代谢消耗的热量,所以还是有热量缺口。&/p&&p&怎么吃?
摄入的热量,基本来源于食物;而代谢的热量分为两方面:基础代谢量和运动、日常活动产生的代谢。
首先你要学会粗略计算上述代谢值(&a href=&///?target=http%3A//www.scpo.nccu.edu.tw/show/part1/b/B2/bmr.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&計算基礎代謝率&i class=&icon-external&&&/i&&/a&),例如我现在每天会代谢掉的热量是3000出头,那我就需要吃够接近4000卡的热量,才能增重。
而这4000卡的热量里,各种营养是必须合理分配的。最重要的几个,是蛋白质、碳水化合物、脂肪和水。大家会比较重视蛋白质,因为蛋白质是增长肌肉的基础,但对于需要增重的人来说,更重要的是碳水化合物,足够的碳水化合物才能给你提供足够的热量去增重,同时提供足够的能源让你有力气去训练,所以要尽量多吃饭;脂肪可以随意些,不用严格控制,但也别比前两样还多;比例大概是:蛋白质30~40%,碳水50~60%,脂肪10~20%,水多喝些,一天八杯。
按这个比例去吃进足够的热量,就能够比较合理健康地增重。&/p&&p&吃什么?
理论都懂了,实战中应该怎么吃呢。
&b&少食多餐&/b&是王道——当然我们增重可能需要多食多餐。
多餐的意思是,一日三餐可以分为5~6餐:早餐、早午餐、午餐、下午餐、晚餐、宵夜。
这样你可以更均匀地摄入你的热量,摄入更多的热量,摄入你平时吃撑了也吃不够的热量。&/p&&p&我目前是这么吃的,大家可以参考下:&/p&&p&1、早餐
早餐最最重要,经过一晚上睡眠,身体急需营养,此时摄入的营养能很好的吸收,所以必须有足够蛋白质和碳水。(不吃早餐就等死吧还健毛身啊
睡醒一大杯水,然后煮早餐吃几个肉包+自磨豆浆(含花生、核桃、芝麻等)+三个鸡蛋(只吃一个蛋黄)。&/p&&p&2、午餐
尽量多吃,但别吃撑。就我在深圳上班的情况,会去自选式快餐店吃,例如两碗米饭+一大块鸡扒+一份常规炒菜+一份素菜+一碗汤,20元以内解决;其他城市不知道你们的餐饮情况如何,实在不行可以自己带盒饭回公司,在校学生有万能的饭堂。&/p&&p&3、上午、下午加餐
我一般会带一个便当作为加餐,早上十点和下午两三点左右吃,里面有鸡蛋、土豆、圣女果、干果等货,详细可以参考我这个回答&a href=&/question//answer/& class=&internal&&上班族如何能「少食多餐」?&/a& (当时这个量是两顿加餐的量)
有人说这个便当的淀粉太多,吃完也容易腹胀,这个我建议大家自己尝试,选择适合自己的加餐,我需要增重,吃了也没不舒服,所以这个对我来说是合理的。
(大学里加餐看这个→&a href=&/question//answer/& class=&internal&&大学里要增肥如何做到多吃东西?&/a&)&/p&&p&4、晚餐
和午餐几乎一样,鸡扒换鱼排,炒菜换点口味,一般5点半去吃,然后回公司加班到7点,出发去健身,到健身房也消化的差不多了。&/p&&p&5、夜宵
也就是健身完回到家,9点左右了,会先吃一根香蕉和一份增肌粉,然后自己下碗饺子吃。&/p&&p&&b&这是我的食谱,算是个有效的参考,但每个人情况不同,应该按照实际情况调整。&/b&&/p&&br&&p&对上面我的食谱,大家肯定会有疑问,先解释一些常见的。&/p&&p&&b&怎么知道吃这么多是否吃够我需要的4000卡热量?&/b&
结合&a href=&///?target=http%3A///food/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&食物热量查询,食物卡路里大全&i class=&icon-external&&&/i&&/a&这个,粗略估算一下就好,不用太精准。&/p&&p&&b&太多吃不下怎么办?&/b&
循序渐进,一开始吃不了这么多,可以尝试每周比上周多吃点,很快就越吃越多了。另外运动量足够大的话,胃口会明显提升。&/p&&p&&b&会不会吃太多吃坏胃?&/b&
所以我建议每一顿都别吃撑,吃9分饱就好,现在6顿9分饱,吃下去的热量也远远大于你原来的三餐吃撑了。
按照上面的吃法,定时吃饭、营养全面、不吃撑、不吃烧烤和腌制食品,比起那些睡到上班前10分钟来不及吃早餐赶回公司、经常加班忘了吃饭、晚上回家随便吃顿烧烤当晚饭还吃撑的上班族,你觉得哪个伤胃呢?&/p&&p&&b&这样一天不停进食好不好?&/b&
据说,在人类出现文明初期,饮食上没保证,随时可能饿着,所以身边有什么食物就会随时吃下去了,为了生存也是一天不停吃的状态。而目前也只是一天定时定量的六顿,少食多餐也是很多人提倡的健康饮食方法,别真的每时每刻不停嘴吃零食就好了。&/p&&p&&b&维生素、矿物质怎么算?&/b&
维生素和矿物质对增重的直接影响没那么大,按正常量吃够就行,按上面这么吃一般差不多了。另外可以额外补充维生素B2B6,因为肌肉合成需要消耗较多B族维生素容易不足,还可以额外补充锌和钙,维持体力,避免痉挛。&/p&&p&&b&鸡蛋一天能吃多少?蛋黄怎么处理?&/b&
鸡蛋主要是蛋黄胆固醇高,虽然已经有证明蛋黄不会影响人体胆固醇,不放心的话一天两个以内是OK的,蛋白就主要是蛋白质,很健康,很多健身人士对蛋白质需求量大,一天吃十多二十个蛋白,自己看情况。至于蛋黄嘛,扔了就扔了,觉得可惜的装个小盆子放楼下喂流浪喵(有爱心好男人形象倍增)&/p&&p&&b&对于如何验证吃的是否合理,还有个简单粗暴的方法:&/b& &b&先制定一个量中等的饮食计划,固定吃上两周,如果两周内体重没变化,就增加食物;如果体重一直在上升,就等体重不再上升的时候,再增加食物;如此循环。&/b&&/p&&br&&p&&b&蛋白粉/增肌粉是否需要吃?每天吃多少勺?&/b&
最多新手关心这个问题,其实蛋白粉/增肌粉是【补剂】。
&b&什么叫补剂?基础饮食再努力也达不到目标的时候,做补充用的。&/b&
例如你一天需要摄入140g蛋白质和360g碳水化合物,结果你吃到吐了,也只摄入了120g蛋白和300g碳水,那剩下的20g蛋白质和60g碳水怎么办?一杯增肌粉搞定。
如果你基础饮食没合理计划好,上来就问能不能吃两勺蛋白粉就有效果了,没门。
另外有些在校学生会觉得蛋白粉贵,平时省着吃,这样其实也没啥效果,吃蛋白质就是为了让摄入量达标,你省着吃,总量不达标,没效果的,不要舍不得。实在经济上困难,就多吃几个鸡蛋代替呗。
你们看我说明白了么?&b&关键是营养的摄入总量要达标&/b&,粉和鸡蛋只是手段而已。
(蛋白粉:主要是提供大量蛋白质,低脂低碳水,适合体型正常练肌肉同时需要控制脂肪的人士;增肌粉:提供大量蛋白质和碳水,特别是碳水化合物,也容易长脂肪,非常适合瘦子增重补充)&/p&&p&&b&蛋白粉/增肌粉这种合成粉是否对身体有害?&/b&
我觉得国内的奶粉更有害...可以参考&a href=&/question/& class=&internal&&健身吃蛋白粉对身体是否有损害?&/a&&/p&&p&&b&蛋白粉/增肌粉选什么牌子?&/b&
我吃过BSN的、美瑞克斯、MuscleMeds、MHP、肌肉科技、GNC的。
其实这些粉效果没那么神奇,都大同小异,我一般都是选味道比较好的那款...
对新手来说肌肉科技的比较推荐,提供的碳水和热量确实够大,而瘦子增重的核心是碳水化合物;口味也还算可以,也自带适当的肌酸和BCAA,很全面。
(为什么增重核心是碳水化合物?→ &a href=&/question//answer/& class=&internal&&为什么瘦人增肌增重需要补充碳水化合物? - 卓恒的回答&/a& )&/p&&p&至于购买的渠道,以前很多关注我兄弟常问我哪里买补剂靠谱。于是我就顺便开了个淘宝店:&a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&首页-卓叔瘦人增重店&i class=&icon-external&&&/i&&/a&,在大家的支持下发展还不错,至今卖出几千桶了,我自己也在吃。有需要的兄弟可以考虑下。
另外最好别买什么汤臣倍健、安利、康比特这几种国产货,口碑差不说,而且很多更是以植物蛋白冒充动物蛋白,掺粉什么的,不想谈呵呵。&/p&&p&&b&还需要其他补剂嘛?&/b&
其他补剂我目前还没开始用,不玩健美没必要用,需要的话像谷氨酰胺、肌酸这些可以尝试,激素类的类固醇等千万别碰就是。
等你炼成一个肌肉男再考虑这些花样补剂吧。&/p&&p&饮食计划大概就这么多,合理的饮食计划,严格的执行,增重的根基就打好了!万事俱备,只差训练了→_→&/p&&br&&br&&p&【三】训练计划
训练哪里容易快速显壮?
对健身来说,可以将需要训练的肌肉分为大肌群和小肌群两个部分。
其中大肌群有:胸、肩、背、腿
小肌群有:手臂、小腿、腰腹
要壮起来,当然是优先把大肌群练起来。先把胸练大了,身板马上变厚,把肩练起来了,人马上变宽,胸和肩有点型之后,你马上就会从小伙伴那收到“你最近壮了诶”的赞美。背和腿长远来说更重要,但较难入门;而胸肌是最容易入门的,所以前期可以在优先训练胸肩背腿的同时,让胸肌更优先一些,感受控制阻力和肌肉增长的过程,方便运用到其他肌群中。
有人会比较关注手臂,肱二头肌通常都被认为是健身的象征,而实际上,这是一块很小的肌肉,健身前期,特别是增重前期,投入过多的精力在手臂上,对你整体的发展帮助并不大。&/p&&p&而一身肌肉,不可能一天全套练完,需要分几天时间练完。
所以我一般一周去四天健身房,以胸肩背腿为主,附带手臂小腿腰腹。
周一:肩+小腿
周三:背+肱二头肌+腰
周五:胸+肱三头肌
周日:大腿+腹肌&/p&&p&训练方式主要是,&b&大重量,高组数,复合动作,自由重量为主&/b&。&/p&&p&大重量:充分热身后,做&b&6~8RM的强度,组间休息90秒&/b&
(这个RM意思是力竭数,例如8RM意味着,这个重量如果你用尽抓奶的力气,一组也只能做8个就力竭了,如果不休息就再也做不起第9下了,叫8RM;如果你做了8下,明明还有余力做第9下,却停下来不做,这不叫8RM,叫训练不到位)&/p&&p&高组数:&b&一般大肌群使用4个动作,每个动作4组;小肌群使用3个动作,每个动作3组。&/b&&/p&&p&复合动作:&b&像卧推、深蹲、引体向上、推举、硬拉这些多关节,一次要用到多块不同肌肉的动作,就叫复合动作&/b&,瘦子入门要多练;相对应的,像集中弯举这些只会用到肱二头肌偏外侧这么一小块肌肉的动作,叫孤立动作,前期不需要做太多。&/p&&p&自由重量:&b&用杠铃、哑铃训练叫自由重量&/b&,前期应该尽可能使用自由重量,这样能锻炼你控制重量的能力和肌肉协调能力,也能充分刺激更大区域的肌纤维。如果在机械上做阻力训练,刺激到的区域很局限,你也学不会控制肌肉,效果较差,这个阶段使用机械的动作不应该超过20%。有人说机械更安全,适合新手学习动作标准姿势——好吧你也可以前两周用机械感受,第三周开始就该换自由了,我是一开始就使用自由重量,姿势可以看视频学,可以问身边的小伙伴,怕危险可以从很轻的重量开始练。&/p&&p&下面给出具体的训练计划:
每块肌肉的第一个动作,必须至少用15~20RM的小重量热身两组,并且适当拉伸肌肉,才能开始训练。
动作的幅度一定要全,不能只推一半距离就算完成了,这样不会有好效果。
计划列表内,黑体加粗的是该部位的主要动作,&b&每隔6周,将“杠铃”和“哑铃”轮流替换&/b&。&/p&&p&动作名称
组数,每组次数(力竭)&/p&&p&周一:肩、小腿
&b&坐姿杠铃推举
4组,分别10、8、6、3RM&/b& &b&站姿借力推举
4组,8RM&/b&
哑铃侧平举
3组,12RM(递减组,例如先用12磅哑铃做到力竭,马上换8磅的再做到力竭)
俯身哑铃侧平举
3组,12RM(递减组)
&b&站姿提踵
4组,12RM&/b&
4组,12RM&/p&&p&周三:背、肱二头肌、腰
&b&宽握引体向上
分多组,一共做50个&/b&
(一个都做不起来就先用宽握高位下拉代替,4组,10RM)
&b&俯身划船
4组,10RM&/b&
&b&杠铃弯举
3组,12RM&/b&
哑铃交替弯举
充分热身,3组,分别8、6、3RM&/b&
罗马椅挺身
3组,12RM&/p&&p&周五:胸、肱三头肌
&b&杠铃卧推
4组,分别10、8、6、3RM&/b& &b&上斜杠铃卧推
4组,10RM&/b&
4组做至力竭
&b&坐姿颈后哑铃臂屈伸
3组,10RM&/b&
仰卧臂屈伸
3组,10RM,做完一组后马上继续做窄握推举至力竭
背后屈臂撑
3组,10RM&/p&&p&周日:大腿、腹部
&b&自由深蹲
6组,分别12、10、8、6、6、3RM&/b&
4组25次&/p&&p&计划不是一成不变的,你应该根据你身体的实际情况,去调整训练的强度。
例如你刚入门适应不了这个强度,前两周就可以把每个动作用15RM的轻重量做两组感受下,等熟练了,再逐步加入强度和动作,直到你适应。但要尽快适应,我有同事练一年了还处于15RM的适应期,其实是自己没毅力,重一点就好酸痛啊受不了,所以还是那么瘦。&/p&&p&解决常见问题的时间又到了:&/p&&p&&b&我这个动作建议用多重的哑铃?&/b&
上面有写了例如12RM,而每个人的情况不同,你的12RM可能是20磅,但别人用这20磅能举起100下。所以无法建议具体的重量,自己感受,以力竭数为标准选择重量。&/p&&p&&b&做4组8RM的时候,第一组恰好能做8下,但是第二组就只能做6下了,怎么办?&/b&
两种方法:1、降低一点重量,保持做8下;2、只能做6下,就做6下,剩下两下让小伙伴帮忙借力,或者自己喘两口气再努力推上去,实在不行就结束吧,肌肉已经被刺激够了,我常用这种方法。其实都没关系,保证肌肉每组力竭就行。&/p&&p&&b&什么时候应该增加重量?&/b&
例如你计划卧推8RM的重量是80磅,等你某天用80磅能推10~12下了,就加到90磅试试吧。&/p&&p&&b&训练计划应该怎么调整?&/b&
一般来说,每隔6周,就可以考虑将计划稍微更变一下,给肌肉提供新的“不适应”刺激,这样增肌效果才好。例如上面说的,每隔6周,就把杠铃卧推换成哑铃卧推,再过6周,换回来。
也可以换动作,例如把哈克深蹲换成肩前深蹲;
也可以换强度,例如4组8RM可以换成6组12RM,组间休息90秒换成60秒;
也可以使用强度技巧,例如强迫次数法、借力法、负功训练法……总之你慢慢研究,变换对肌肉的刺激方式,肌肉才更容易练到位。&/p&&p&&b&而以周为单位的训练计划,有个优先原则的调整技巧。&/b&
例如我希望先把胸肌练大,因为容易找到感觉、见效快、先突破一个更有信心。那我一周的计划就变成:周一(胸肌、背部),周三(肩膀、小腿),周五(胸肌、肱二、肱三),周日(大腿,腹部)。
这样胸肌变成一周两次,而且每次都把状态最好的时间留给胸肌,这样我的胸肌很快就给出了反应——比别的肌肉群都要强壮,穿稍微紧身点的衣服就已经有两块盔甲的效果了。
而在把胸肌成功练大的过程中,我学会了如何控制目标肌肉,如何使用各种强度技巧,如何快速让胸肌充血——这些经验积累,马上就可以照搬到其他部位的肌肉,特别是背部肌群这种难找到感觉的肌肉,现在也不在话下了。
然后最近我觉得胸肌相对算OK了,是时候开始突破背部肌群了,我的计划就变成了:周一(肩部、小腿、腹部),周三(背部,腰),周五(胸肌、肱二、肱三),周日(大腿,背部)
增加了背部的训练强度,等背部突破了,再去考虑肩部、大腿、手臂等……&/p&&p&&b&一次应该训练多长时间?&/b&
刚入门时我训练一个半小时左右,现在能控制在一小时内,不要太长时间以免训练过度。&/p&&p&&b&如何判断自己是否训练到位?&/b&
这个在训练时,主要是看目标肌肉是否有充血,有泵感。泵感就是血液大量集中在一个部位,导致那个部位变得膨胀、跳动、快要爆炸的感觉...男生都懂的...
如果练到没力气,目标肌肉也没泵感,应该就是没练到位了,要思考对目标肌肉的控制是否到位。
训练后,会产生肌肉酸痛。虽然传说肌肉酸痛并不代表训练到位,但我还是会以此作为判断依据之一,训练第二天肌肉胀痛的感觉真的很好。&/p&&p&&b&这样训练是否会受伤?&/b&
任何运动都会受伤,但可以合理避免。首先是训练前要充分热身,并且把筋骨拉开,其次是训练动作一定要标准,不能为了推起更大的重量而动作变形。做到这两点,基本不会受大伤。
小伤痛会有,打网球打多了,手肘也会出问题,健身也一样,你的动作不能保证100%完美,肯定有时候会发现,上大重量的时候手腕有点痛,撑不住。这种情况就买个护腕作为保护,严重点的就停止相关的训练,等伤势好转再说。
另外提一点,杠铃卧推的时候,根据拇指的位置分为全握法和半握法,全握法就是完全扣紧杠铃杆,半握则是拇指和其他手指方向一致,不扣紧。我建议大家一定要用全握法,你永远不知道自己什么时候手心出汗了,一下打滑几百磅的杠铃砸到胸上,卒。这样的案例太多了,全握则可以避免这个风险。&/p&&p&&b&看训练计划,腹肌的强度貌似不太够?&/b&
是不太够,对于瘦子增重期来说,暂时不用太看重,所以我没放多少精力在这上面,现在长胖点了,脂肪也多了,腹肌还是有浅浅的轮廓,等夏天到了要去海滩了可以再突击下。
你喜欢腹肌也可以隔天训练一次,但是注意,&b&腹肌千万不要负重训练&/b&,负重训练虽然能让腹肌有效变大,甚至变很大,但这涉及一个身材比例的问题,例如我现在腰围和胸围的比例,是0.75左右,这样的比例,能显得倒三角,胸大腰细,很美观,如果我将腰围练大了,越接近胸围,就显得胸越小,整个人越水桶。
所以腰腹围度最好根据胸围来判断,等你胸围涨得够大了,腰围再按照黄金比例跟上不迟。&/p&&p&&b&害怕一不小心炼成斯瓦辛格那种大块头怎么办?&/b&
...滚...我还怕我跑赢刘翔呢=_=&/p&&p&训练计划大概就这么多,训练和饮食搞好了,行动起来去做了,你的身体会一天比一天强壮。&/p&&br&&br&&p&【四】休息恢复
这部分内容不多,普及下肌肉生长的原理。
肌肉由众多肌纤维组成,训练是为了撕裂这些肌纤维,然后吸收你摄入的蛋白质,进行“超额恢复”,你的肌肉就会变大。&/p&&p&所以休息时间很重要,肌肉练完了,必须给足够的时间去修复,它才能生长;如果还没修复好,你就再次训练撕裂它,显然就不会有好效果了。&/p&&p&所以说,同一块肌肉不要每天都训练,一般来说,一块肌肉的修复需要48小时,也就是一周训练不要超过两次。下背部,也就是腰,修复时间需要72小时;而腹肌修复速度快,每天训练也无妨,但还是建议隔天。&/p&&p&安排训练计划的时候,也要考虑这点。例如周一练了肩,三角肌和肱三头肌已经很疲劳了,那周三就不宜练胸,因为卧推需要用到三角肌前束和肱三头肌,人家还没恢复好呢;练背或腿则没问题,他们之间没有共用的肌肉。&/p&&p&肌肉的修复主要是在睡眠时间进行,所以每天要睡够7~8小时较好。&/p&&p&另外大家还比较关注一个问题,性生活是否会影响健身。
其实不会,本人实践证明,频率正常的性生活,一周啪2~3次,不会对健身有任何影响,当然你别健身前半小时来一发再出发,那肯定腿软。
另外健身能给性生活带来很大的帮助,首先体力好了不说,主要是例如大重量深蹲这些动作,能刺激睾酮分泌,也就是雄性激素增多——性欲强了,续航能力长了,回床率也高了不少,深蹲,你值得拥有。(负面影响是,雄性激素的变化会导致皮脂分泌的变化,所以容易爆痘痘,去医院开点药就好了)&/p&&p&推胸不蹲腿,早晚要阳痿。&/p&&br&&br&&p&【五】心理
卧槽写得好累...你能看到这里也挺不容易的...&/p&&p&瘦子健身的心理问题主要就几个:&/p&&p&&b&太瘦不敢去健身房怎么办?&/b&
建议找个小伙伴带你去。我去之前也是这个心理,后来一个同事带我去玩,一开始很尴尬,就跟着他玩了几遍器械,后来第二周自己开始做训练计划了,也是和他一起练才感觉好些,后来习惯了,就不管这么多了,自己专心练,没过多久对环境熟悉了就很自然,经常被路过的教练各种方式打击忽悠我买课,也抗住了没动摇。&/p&&p&&b&坚持不下去怎么办?&/b&
没什么好方法,只能说你怨念不够深。
其实经常下班去健身房的路上,我也会想,今天太累了,要不回家吧...但基本都是一咬牙,进了健身房再说,就是这么坚持下来的。
要激励自己坚持的话,可以:
1、找个训练伙伴和你一起去,两个人有动力些;
2、找个偶像,定下目标,例如最近很火的彭于晏、张家辉,也可以是拉扎尔.安格洛夫,甚至弗兰克·赞恩,你想成为那个样子,你就有努力的动力;
3、多去海滩、泳池这些半裸社交场合找女生搭讪...很快你的怨念就会暴涨,化作动力。&/p&&p&&b&是否需要请教练?&/b&
我自己一直没请,我 喜欢自己琢磨健身,解决遇到的一切问题,才算真正的掌握了它,以后遇到问题才知道怎么去解决,才能在这里给你们写经验写攻略。
但对大部分人来说,如果有条件请教练,进步肯定会比自己练要快,也更容易入门,不易受伤,毕竟有个靠谱的前辈带着,还是不一样。
当然你需要挑一个靠谱的,用心教你达到健身目标的教练,而不是一个只为了忽悠你买课赚钱的销售壮汉。&/p&&p&&b&如何选择靠谱私教?&/b&
其实你在知乎就能找到靠谱,例如上海的的同学可以找 &a class=&member_mention& href=&///people/9d47a8c1dd3ddfa9aa0e8e7& data-hash=&9d47a8c1dd3ddfa9aa0e8e7& data-hovercard=&p$b$9d47a8c1dd3ddfa9aa0e8e7&&@李亚威&/a&
咨询,他在上海的PE健身工作室,非常用心在做授课,也解决了很多传统私教坑人的问题:&a href=&/question//answer/& class=&internal&&健身教练有哪些内幕? - 李亚威的回答&/a&,非常推荐。广州的可以找 &a class=&member_mention& href=&///people/dfc50c73beacfbc29658& data-hash=&dfc50c73beacfbc29658& data-hovercard=&p$b$dfc50c73beacfbc29658&&@陈柏龄&/a& 和 &a class=&member_mention& href=&///people/765c8f963c6d0ea5fb5ade227e39786e& data-hash=&765c8f963c6d0ea5fb5ade227e39786e& data-hovercard=&p$b$765c8f963c6d0ea5fb5ade227e39786e&&@虎柔&/a& 开的训练入门基础课,以及其他城市知乎健身大牛开的工作室,都 比较推荐。不在这些城市的话,在健身房多问问有经验的会员,哪个私教口碑较好,比较务实的,通常都能找到比较的健身教练。&/p&&p&&b&不去健身房在家里练行不行?&/b&
这个看你}

我要回帖

更多关于 断食多久开始瘦体型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信